发送电子邮件system.web.httpexceptions时出错:无法将邮件发送到smtp服务器
本文关键字:服务器 smtp system 电子邮件 web httpexceptions 出错 | 更新日期: 2023-09-27 18:30:12
我的程序中有一个函数,可以从谷歌帐户发送电子邮件。
我以前写过这个代码,它过去工作得很好,它按预期发送电子邮件。然而,现在,我无法让它工作。(我现在使用的是Windows7 64位,如果这能有所不同的话)。
我得到的错误(这是代码中的第一条错误消息)是:
system.web.httpexceptions:消息无法发送到smtp服务器传输错误代码为0x80040217。服务器响应不可用-->system.reflection.targetinvocationexception:调用的目标引发了异常。-->system.runtime.interopservice.comexception(0x80040211):消息无法发送到smtp服务器。传输错误代码为0x80040217。服务器响应不可用。
这是代码:
void sendEmail(string [] emailList, int emailLength, string fileName)
{
int i = 0; //variable to act as temporary index into emailList array
try
{
try
{
MailMessage message = new MailMessage();
//Because using google server, requires SSL
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", "465");
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate",1 );
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendusername","theusername@gmail.com" );
message.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendpassword","thepassword" );
message.From = "theusername@gmail.com";
message.To = emailList[i];
//add Bcc
while (++i < emailLength)
{
message.Bcc = emailList[i];
}//end while
message.Subject = "Test Subject";
message.Body = "Test Body";
MailAttachment fileAttach = new MailAttachment(fileName);
message.Attachments.Add(fileAttach);
try
{
SmtpMail.SmtpServer = "smtp.gmail.com";
提前谢谢!
我也遇到了同样的问题,但当我使用Gmail地址时解决了这个问题,因为我没有使用Gmail登录的两步验证。如果你只使用一个没有额外验证的密码(在我的情况下是通过手机代码),它可以使用
也许你被谷歌屏蔽了,因为你是从远程计算机中的程序发送的(这不是你通常使用的程序)尝试在运行该程序的同一台计算机上打开gmail。,看看你是否有安全问题。
在gmail帐户上转到https://www.google.com/settings/account然后打开安全,看到我gmail阻止了对你的账户的访问