nodemailer-direct-transport中文文档|nodemailer-direct-transport js中文教程|解析

npm npmdoc 2年前 (2022-01-02) 1267次浏览

nodemailer-direct-transport中文文档|nodemailer-direct-transport js中文教程|解析

安装命令:npm i nodemailer-direct-transport

Nodemailer 的直接 SMTP 传输模块

适用于 Nodemailer v1.x,不适用于内置传输的 v0.x。

用法

使用 npm 安装

npm install nodemailer-direct-transport

需要你的脚本

var nodemailer = require('nodemailer');
var directTransport = require('nodemailer-direct-transport');

创建一个 Nodemailer 传输对象

var transporter = nodemailer.createTransport(directTransport(options))

在哪里

  • 选项定义连接数据

    • options.name将客户端引入 MX 服务器时使用的主机名
    • options.logger可选bunyan兼容的记录器实例。如果设置为,true则登录到控制台。如果值未设置或为,false则不记录任何内容
    • options.debug如果设置为 true,则记录 SMTP 流量,否则仅记录事务事件
    • options.port用于连接 MX 服务器的可选端口(默认为 MTA 标准 25)
    • options.retryDelay重试失败消息的可选超时(以毫秒为单位)(默认为 15 分钟)
    • getSocket可选方法,每次针对 SMTP 服务器建立新连接时都会调用该方法。此方法可以提供要使用的现有套接字而不是创建新套接字

例子

var transport = nodemailer.createTransport(directTransport({
    name: 'smtp.example.com' // should be the hostname machine IP address resolves to
}));

发送回调

发送回调包括以下参数

  • 如果邮件未发送则
    出错

    • error.errors是一组错误响应(一个 MX 交换的响应)

      • error.errors[].recipients一组失败的收件人
      • error.errors[]. response 来自 SMTP 服务器的错误响应
  • 信息是否至少发送了一封邮件或正在等待发送

    • info.accepted已接受的收件人数组
    • info.rejected一组被拒绝的收件人
    • info.pending待处理的收件人对象数组(未永久拒绝并稍后重试的消息)

      • info.pending[].recipients仍在等待的收件人地址数组
      • info.pending[].response来自 SMTP 服务器的响应
    • info.errors一系列错误(对于这些拒绝邮件的交换

问题

直接传输效率非常低,因为它将所有要发送到内存的电子邮件排队。此外,如果消息尚未发送且进程已关闭,则有关排队消息的所有数据都将丢失。因此直接传输仅适用于低吞吐量系统,在这种系统中可以立即处理消息。

虽然不是 100% 可靠(记住 – 如果进程退出,整个队列都会丢失),直接传输仍然可以处理发送错误、灰名单等。如果无法发送消息,则重新排队并稍后重试。

执照

麻省理工学院

项目贡献人员列表:


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nodemailer-direct-transport中文文档|nodemailer-direct-transport js中文教程|解析
喜欢 (0)
.excerpt .focus {display:none}