我有一个使用节点js的sendmail模块编写的邮件系统。当我向其收件人发送有效电子邮件地址列表时,它工作正常。但是,如果其中一个电子邮件地址错误或不存在,则它不会将任何邮件发送到其他有效的电子邮件地址。
以下是我的代码:
var express = require('express');
var router = express.Router();
var sendmail = require('sendmail')();
router.post('/sendmail', function (req,res, next) {
var html = req.body.html;
var to = req.body.to;
var cc = req.body.cc;
var sub = req.body.sub;
sendmail({
from:'mark@mymail.com',
to: to,
cc: cc,
subject: sub,
html: html,
}, function(err, reply) {
if(err) {
res.send(err);
} else {
res.send("ok");
return;
}
});
现在,让我们假设一个好的收费人如下:
smith@mymail.com,john @ mymail.com,roger @ mymail.com
如果上述任何电子邮件ID拼写错误或不存在,那么在服务器上我会收到如下错误:
"地址被拒绝。" SMTP响应错误代码550
sendmail中是否有一种机制可以检查服务器端是否发生此类错误,然后至少将邮件发送到正确的电子邮件地址并为不存在/错误的电子邮件地址抛出错误。