2

私のプログラムには、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";

前もって感謝します!

4

2 に答える 2

1

同じ問題が発生しましたが、Gmail ログインの 2 段階認証を使用していない Gmail アドレスを使用すると解決しました。追加の検証なしでパスワードのみを使用する場合(私の場合は携帯電話コードを介して)、機能します

于 2013-09-16T12:42:36.187 に答える