2012-01-28 23 views
2

VB.NetまたはC#を使用してGmailでメールを送信しようとすると、次のメッセージが表示されます。電子メールの送信に失敗しました - ソケットにアクセスしようとしましたそのアクセス権によって禁止されている方法で - リモートサーバーにアクセスできない。GmailとC#/ VB.Netで電子メールを送信できない

Message = New MailMessage(Sender, Recipient, Subject, MessageBody) 

SMTPServer = New SmtpClient("smtp.gmail.com", 587)'Port 465 fails as well 
SMTPServer.EnableSsl = True 

SMTPServer.Credentials = New NetworkCredential("[email protected]", "password") 
SMTPServer.Send(Message) 

(私はweb.configファイルは、上記の多くのために使用することができることを承知しています):私はいくつかのGmailを使用してみましたが は、次のように過去に働いていたVB.Netコードを含む占めています。

明らかに、Gmailの設定が変更されている必要がありますか?

+1

ファイアウォールの電源を切り、もう一度試してください。 – Jashwant

+0

私はファイアウォールをオフにしようとしましたが、違いはありませんでした。 – Lee

答えて

4

McAfee Anti-Virusは電子メールの送信を防ぎました。すべての助けに感謝し、everyonesの時間を無駄にしてごめんなさい。

+0

;)あなたの質問に対する私の最初のコメント – Jashwant

1

私はコメントする方法を知らない:あなたはポートといくつかのことを忘れたと思う。これが解決しない場合は、

try 
    { 
     MailMessage mail = new MailMessage();  //using System.Net.Mail namespace 
     mail.To.Add("[email protected]");    //Enter reciever's email address 
     mail.From = new MailAddress("[email protected]"); //Enter sender's email address 
     mail.Subject = "Testing mail..."; 
     mail.Body = @"Lets-code ! Lets-code to make it simpler"; 
     mail.IsBodyHtml = true;     //Body of mail supports html tags 
     SmtpClient smtp = new SmtpClient(); 
     smtp.Host = "smtp.gmail.com"; 
     smtp.Port = 587; 
     smtp.Credentials = new System.Net.NetworkCredential("[email protected]", "pwd"); 
     // Your gmail username and password 
     smtp.EnableSsl = true;   //Gmail uses a encrypted connection 
     smtp.Send(mail); 
     Response.Write("Mail Sent Successfully"); 
    } 

catch(Exception ex) 
    { 
     Response.Write(ex.Message); 
    } 

を別のマシン上でそれを試してみてください。

Imports System.Net.Mail 

Protected Sub btnSendEmail_Click(ByVal sender As Object, ByVal e As EventArgs) 
    Dim mail As MailMessage = New MailMessage() 
    mail.To.Add("[email protected]") 
    mail.From = New MailAddress("[email protected]") 
    mail.Subject = "Email using Gmail" 

    String Body = "Sending mail using Gmail's SMTP" 
    mail.Body = Body 

    mail.IsBodyHtml = True 
    Dim smtp As SmtpClient = New SmtpClient() 
    smtp.Host = "smtp.gmail.com" 
    smtp.Credentials = New System.Net.NetworkCredential 
     ("[email protected]","password") 
    smtp.EnableSsl = True 
    smtp.Port = 587 
    smtp.EnableSsl = true 
    smtp.Send(mail) 
End Sub 

が私のためにこのコードは正常に動作します。この編集

+0

私はあなたのコードを試しました。以前とまったく同じ例外と「リモートサーバーに接続できません」というエラーメッセージが表示されます。前回Gmailを使って電子メールを送ったとき、私はVista Home Premium x32を使っていましたが、今はWindows 7 Ultimate x64を使っています。 – Lee

+0

エラーは何ですか?試してみるとうまくいくからです。 –

+0

これはうまくいくかもしれません –

3

を試してみてください。この場合に役立ちます参照してください。 Windows 7には独自のファイアウォールがあります。それもチェックしてください。

+0

ファイアウォールを無効にして、それでも同じエラーメッセージが表示されますが、これはマシン固有の問題です:( – Lee

0

GoogleにはGmailのアカウントを保護するための新しいルーチンがあります。このコードを使用するには、Gmailの設定に行って、安全性の低いクライアントのブロックを無効にする必要があります。

関連する問題