tôi đang cố gắng để kết nối với iCloud qua SmtpClientMailkit SMTP - STARTTLS & TLS cờ
Các thiết lập Tôi đang sử dụng như sau:
tênServer: smtp.mail.me.com
SSL Required : Có
Nếu bạn thấy thông báo lỗi khi sử dụng SSL, hãy thử sử dụng TLS hoặc STARTTLS thay thế.
Cổng: 587
SMTP Authentication Required: Có - với tên truy cập và mật khẩu liên quan
Nếu tôi sử dụng SSL tôi nhận được "Handshake thất bại do định dạng gói tin bất ngờ"
Nếu tôi không sử dụng SSL thị giác studio debugger treo trên kết nối.
Tôi nghĩ rằng vấn đề là tôi không nói cho SmtpClient sử dụng tls nhưng tôi không thể tìm thấy tài liệu về cách thực hiện việc này.
Mã này là như sau:
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);
}
Am Tôi có thể đặt TLS hoặc STARTTLS bằng tay. Một điều tôi đã thử là sau nhưng có vẻ như không hoạt động
client.Connect(new Uri("smtp://" + servername + ":" + port + "/?starttls=true"));
Cảm ơn bạn đã giúp đỡ về điều này.
Tại sao bạn chuyển 'false' cho cờ' useSSL' nếu bạn đang nói bạn yêu cầu 'SSL'? – Rob
@Rob Tôi đã thử với sự thật và tôi nhận được một cái bắt tay không thành công do định dạng gói tin không mong muốn. iCloud đề xuất điều này: "Nếu bạn thấy thông báo lỗi khi sử dụng SSL, hãy thử sử dụng TLS hoặc STARTTLS thay thế." – cavej03