我正在编写一个小工具来帮助处理一些MySQL任务,每晚在任务失败时将其发送到我的个人电子邮件(这是个人项目,因此没有公司smtp服务器或其他任何东西,邮件通过公共Outlook账户发送)。
我测试了大约5次,每次都成功发送,但现在尝试发送电子邮件时,我得到了这个异常:
发送测试邮件出错:Transaction failed. The server response was: 5.2.0 STOREDRV.Submission.Exception:OutboundSpamException; Failed to process message due to a permanent exception with message WASCL UserAction verdict is not None. Actual verdict is Suspend, ShowTierUpgrade. OutboundSpamException: WASCL UserAction verdict is not None. Actual verdict is Suspend, ShowTierUpgrade.[Hostname=BY2PR0101MB1461.prod.exchangelabs.com]
这是我自己的一个小失误 - 没想到在第6次尝试后Outlook会将其视为垃圾邮件 - 我是否可以在Outlook中做些什么来纠正这个问题?
我正在使用我在Outlook中创建的服务帐户向我的个人收件箱发送这些电子邮件。
涉及到的实际代码:
class JobMailer
{
private string email_to;
private string email_from;
private string password;
private string email_smtp;
private bool use_ssl;
private int port;
public void Send(string subject, string body)
{
MailMessage mail = new MailMessage(email_from, email_to);
using (SmtpClient client = new SmtpClient
{
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
EnableSsl = use_ssl,
Host = email_smtp,
Timeout = 100000,
Port = port,
Credentials = new NetworkCredential(email_from, password)
})
{
mail.Subject = subject;
mail.Body = body;
client.Send(mail);
}
}
public JobMailer(string emailTo, string smtp, string emailFrom, string pw, int p, bool ssl)
{
email_to = emailTo;
email_from = emailFrom;
password = pw;
email_smtp = smtp;
port = p;
use_ssl = ssl;
}
}