2010-12-12 18 views
0

こんにちはを成功すべて 数週間前、私のASP.NETのウェブサイトは、私はGmailのSMTPサーバーを介して自分のメールアカウントにそれらのコメントを電子メールで送信することにより、実装されたユーザーのコメントの送信を停止し(smtp.gmail.com)。私は、私の開発マシン上でプロジェクトを開いて、再びそれは、次の例外メッセージと数分後に電子メールを送信するために失敗します。net_io_connectionclosed:メールは、ASP.NETは、GmailのSMTP経由のメールを送信するために失敗しますが、Outlook 2007が

トランスポート接続からデータを読み取ることができませんを送信

失敗。

私はGmailのSMTPをポート465で使用していますが、MailClient.EnableSSL = Trueです。 私のOffice Outlook 2007は同じ設定を使用しており、同じGmailアカウントを使用してメールを送信する際に問題はありません。

どのような考えですか?

+0

明確にするために、あなたの制作環境で作業していました。現在はプロダクトでもローカルでも動作していませんか? –

+0

どこでもうまく機能していました。 2週間前、私たちはサイトが問題であることに気付きました。私たちがチェックしたとき、私たちはそれがもはや動作していないことを実感しました。その後、私はisacting私のローカル接続やGmailに問題があるかどうかを確認するために私のOffice Outlook 2007を使用し、それは(私たちはウェブサイトで使用するのと同じメールアカウントを使用して)うまくメールを送信します。 – TheAgent

答えて

3

このコードは私の仕事です。ポート番号は試しているポート番号とは異なることに注意してください。私はほとんど確信していますが、私は運が無ければ最初に465を試しました。

var msg = new MailMessage(new MailAddress(recipient, "SCS Web Site"), new MailAddress(toAddress)) 
       { 
        Body = BuildMailBody(), 
        Subject = "SCS Web Site Message" 
       }; 
var smtp = new SmtpClient 
       { 
        Host = "smtp.gmail.com", 
        Port = 587, 
        EnableSsl = true, 
        UseDefaultCredentials = false, 
        Credentials = new NetworkCredential(myGmailUser, myGmailPassword) 
       }; 
smtp.Send(msg); 
+0

返信いただきありがとうございますが、これらの設定は機能しません。ポート#587を使用して、「メールの送信に失敗しました - リモートサーバーに接続できません」というメッセージが表示されます。あなたのポート番号が働いていても、私のOffice Outlookが465を使ってメールを送信できる理由は説明できませんでした。これは私を狂ってしまいます! – TheAgent

0

ファイアウォールでアウトバウンド接続が許可されていないとしたら、特にOutlookがパンチスルーすることは許されません。 。 。私は(Windowsサーバ上)formmailは、Gmailのを経由してい

+0

メインサーバーがメールを送信できなかったとき(2週間前)に問題が発生しました。その後、開発マシンでコードをテストしたところ、同じことが起こりました。誰もどちらの機械にも触れなかった。だから私はそれがファイアウォールとは関係ないと思う。 – TheAgent

-1

一つ奇妙には、ポート番号が問題だったということでした。私のコードはあなたのものと似ていましたが、ポートを587または465ではなく25に変更したときにのみ機能しました。それがここで必要なものかもしれません。

関連する問題