小编Rod*_*Gra的帖子

如何通过nodemailer同步发送邮件?

我正在使用带有nodemailer模块的nodejs 创建一个应用程序来发送邮件。

我的应用程序的过程是读取包含姓名和电子邮件的列表,使用jimp创建 png 文凭文件(基于每个姓名和电子邮件),然后通过 nodemailer 存储并发送每个文件到每个不同的邮件地址,所有这些完成后我想删除每个文件,但所有这些都以同步方式进行,因为 png 文凭和发送电子邮件需要一些时间:

我的列表的语法是:

const list = [
  [name1, email1@mail.com]
  [name2, email2@mail.com]
  [        ...           ]
  [namex, emailx@mail.com]
]
Run Code Online (Sandbox Code Playgroud)

实际上我想等待每封邮件发送完毕,因为 gmail 似乎在处理同时发送多封邮件时存在问题,发送 13 或 15 封邮件后,它会显示下一个错误:

error:  { Error: Data command failed: 421 4.7.0 Temporary System Problem.  Try again later (10). x12sm4645987otk.1 - gsmtp
Run Code Online (Sandbox Code Playgroud)

因此,为了实现这一目标,我使用经典的 for 循环迭代列表(foreach 循环以异步方式执行此操作,并且不允许我保持对文凭生成的控制),我处理每个职位的

//Iterating over mails array
for (let i = 0; i < list.length; i++) {
    // Little msg to know what is going on …
Run Code Online (Sandbox Code Playgroud)

javascript email synchronous node.js nodemailer

3
推荐指数
1
解决办法
4267
查看次数

标签 统计

email ×1

javascript ×1

node.js ×1

nodemailer ×1

synchronous ×1