0

OK、ホストから (gmail 経由で) 電子メールを送信するために次のスクリプトを 1 年以上使用していますが、問題なく動作しています ( Settings.Get()は文字列を返すだけです)。

public class Email : SmtpClient
{
    public MailMessage Message { get; private set; }

    public Email(string to, string from, string subject, string body) : base(Settings.Get("smtp"), 25)
    {
        this.EnableSsl = Convert.ToBoolean(Settings.Get("ssl"));
        if(this.EnableSsl)
            this.Credentials = new System.Net.NetworkCredential(Settings.Get("gm"), Settings.Get("gmp"));
        this.Message = new MailMessage(from, to, subject, body);
    }

    public void Send()
    {
        try { this.Send(Message); }
        catch (Exception ex) { throw ex; }
    }
}

しかし、昨日から、次のエラーが発生しています。

エラー: サーバーは安全な接続をサポートしていません。

もちろん、私のホストはそれが彼らのせいではないと考えていますが、私は何も変えませんでした. また、ローカル マシンやテスト マシンでも問題なく動作します。これを引き起こしている可能性があるので、修正するように伝えることができますか?

ありがとう...これは私を夢中にさせています!

4

6 に答える 6

0

check your event log, maybe the handshake beetwen the your pc and the server is not working.or the certificate is not being downloaded or it may contain errors wich may be something weird comming from gmail

于 2009-01-30T18:21:54.023 に答える
0

587を使用するポートを指定すると、その問題も解決しました-

エラー: サーバーは安全な接続をサポートしていません。

私が仕事をしている会社は、いくつかのことを行ってからgmailからメールを送信するWindowsサービスを作成しました。最初は、問題なく問題なくメールを送信しました。サービスを Vista マシンにインストールした後、電子メールが送信されないことに気付きました。Windows 2008サーバーにインストールすると、同じことが起こります。少数の XP マシンでさえ、それに気付き始めています。ポートを 587 に変更すると、再び正常に動作し始め、メールを送信できるようになりました。

以下は、試したすべてのマシン (XP、Vista、Server 2008) で動作するサンプル コードです。

        Dim client As New Net.Mail.SmtpClient("smtp.gmail.com")
        client.Port = 587
        client.EnableSsl = True
        client.UseDefaultCredentials = False
        client.Credentials = loginInfo
        client.Send(mm)
于 2009-11-06T17:20:44.207 に答える