我正在使用此代码发送电子邮件:
app.use(express.static(path.join(__dirname, 'dist')));
我们的问题是收件人只有一个,而且邮箱确实存在。但是,当调用smtp.Send方法时,抛出以下异常:
MailMessage mail = new MailMessage();
SmtpClient smtp = new SmtpClient(_smtpServer, _smtpPort);
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential(_smtpUser, _smtpPassword);
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
smtp.EnableSsl = _smtpSSL;
mail.From = new MailAddress(_fromEmail);
mail.To.Add(new MailAddress(toEmail, toName));
if (!String.IsNullOrEmpty(ccEmail))
mail.CC.Add(new MailAddress(ccEmail, ccName));
mail.Subject = subject;
mail.Body = body;
mail.Priority = MailPriority.High;
if (attachment != null)
{
if (String.IsNullOrEmpty(fileName))
fileName = "Adjunto " + DateTime.Today.ToString("yyyyMMddHHmmss" + ".pdf");
mail.Attachments.Add(new Attachment(attachment, fileName, "application/pdf"));
}
smtp.Send(mail);
return true;
你能帮助我吗?
答案 0 :(得分:0)
听起来您正试图通过smtp服务器中继电子邮件,而该服务器不允许您这样做。
如果您要发送一个SMTP服务器希望代表接收邮件的地址(如果您在要发送到的域的MX记录上执行nslookup,则会显示该地址),那么它通常应该工作。但是,如果邮箱不存在,某些邮件服务器将不接受该邮件。我相信这是你的服务器在这种情况下告诉你的。其他人会接受并丢弃它而不会出错,因此如果您是垃圾邮件发送者,则无法使用该错误来确定虚构的电子邮件地址是否有效。
如果您发送的SMTP服务器不是预期的地址,那么您要求它转发电子邮件。除非经过身份验证并具有相应的权限,否则大多数服务器通常都不允许这样做。