c# - 发送电子邮件system.web.httpexceptions时发生错误:无法将邮件发送到smtp服务器

原文 标签 c# email smtp

我的程序中有一个功能,可以从Google帐户发送电子邮件。

我前一段时间写了这段代码,它过去工作正常,它按预期发送电子邮件。但是,现在我无法正常工作。 (如果这会有所作为,我现在正在使用Windows 7 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登录信息的两步验证时就解决了。如果您仅使用未经额外验证的密码(在我的情况下是通过手机代码),则可以使用

关于c# - 发送电子邮件system.web.httpexceptions时发生错误:无法将邮件发送到smtp服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10049714/

相关文章:

linux - 通过sendmail服务器发送邮件时出现sasl_decode错误

c# - 将日期从visual basic转换为c-sharp

c# - 编译并运行动态代码,而不生成EXE?

smtp - 如何确定我的邮件服务器是否配置正确?

.net - 如何使用.NET Framework 4 +通过SSL SMTP发送电子邮件

css - Outlook HTML电子邮件标题颜色

javascript - 将 Angular 4 升级到 5 后,Api 无法正常工作并引发控制台错误

c# - 什么是异常(exception)?

php - 仅在Imap和PHP上的新电子邮件

linux - LINUX:邮件将文件内容作为邮件内容发送