16

SmtpClient 経由で iCloud に接続しようとしています

私が使用している設定は次のとおりです。

サーバー名: smtp.mail.me.com
SSL 必須: はい
SSL の使用時にエラー メッセージが表示される場合は、代わりに TLS または STARTTLS を使用してみてください。
ポート: 587
SMTP 認証が必要: はい - 関連するユーザー名とパスワードを使用

SSL を使用すると、「予期しないパケット形式が原因でハンドシェイクに失敗しました」というメッセージが表示されます

SSL ビジュアル スタジオ デバッガーを使用しない場合、接続時にハングします。

問題は、SmtpClientにtlsを使用するように指示していないことだと思いますが、これを行う方法に関するドキュメントが見つかりません。

コードは次のとおりです。

using (var client = new SmtpClient()) {
    client.Timeout = 1000 * 20;
    //client.Capabilities.
    client.AuthenticationMechanisms.Remove ("XOAUTH2");

    client.Connect("SMTP.mail.me.com", 587, false); //dies here
    //client.Connect(servername, port, useSsl);
    //can I set tls or starttls here??
    client.Authenticate(username, password);
    client.Send(FormatOptions.Default, message);
}

TLS または StartTLS を手動で設定できますか? 私が試したことの1つは次のとおりですが、うまくいかなかったようです

client.Connect(new Uri("smtp://" + servername + ":" + port + "/?starttls=true"));

これについて助けてくれてありがとう。

4

4 に答える 4