我正在尝试使用 SmtpClient 发送电子邮件。如果我发送到端口 25,一切正常。如果我发送到端口 465,我会得到 GeneralFailure。
尝试了不同的服务器。gmail,邮件,yandex。有什么问题,我不明白。您需要提升权限吗?
MailMessage mail = new MailMessage("qwert@yandex.ru", "qwert2@yandex.ru");
mail.IsBodyHtml = true;
mail.Subject = "Subject";
mail.Body = "Body";
SmtpClient client = new SmtpClient
{
Host = "smtp.yandex.ru",
Port = 465,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = true,
Credentials = new NetworkCredential("login", "password")
};
try
{
client.Send(mail);
}
catch (SmtpException ex)
{
Console.WriteLine("Error: {0}", ex.StatusCode);
}
SmtpClient已弃用,而推荐使用MailKit。切换到MailKit,我的问题就解决了。
通过反射与 CDO.Message 变体
参数可以这样使用
来自微软的页面 http://support.microsoft.com/en-us/help/310212/how-to-use-the-cdosys-dll-library-to-send-an-e-mail-message-with-attac
详细参数 http://docs.microsoft.com/en-us/previous-versions/exchange-server/exchange-10/ms526288(v%3Dexchg.10)