Sử dụng Linux hoặc OSX, làm những gì Sorin khuyến cáo nhưng sử dụng cổng 465 để thay thế. 25 là cổng SMTP chung, nhưng không phải là những gì GMail sử dụng. Ngoài ra, tôi không tin bạn muốn sử dụng -starttls smtp
openssl s_client -connect smtp.gmail.com:465
Bạn sẽ nhận được rất nhiều thông tin về phiên SSL và phản ứng:
220 mx.google.com ...
Gõ vào HELO và bạn sẽ nhận được :
250 mx.google.com at your service
Từ đó không đơn giản như gửi thư SMTP vì Gmail có bảo vệ tại chỗ để đảm bảo bạn chỉ gửi email xuất hiện từ tài khoản thực sự là belon g với bạn. Thay vì nhập "Helo", hãy sử dụng "Ehlo". Tôi không biết nhiều về SMTP nên tôi không thể giải thích sự khác biệt, và không có thời gian để nghiên cứu nhiều. Có lẽ ai đó có nhiều kiến thức hơn có thể giải thích.
Sau đó, gõ "auth đăng nhập" và bạn sẽ nhận được những điều sau đây:
334 VXNlcm5hbWU6
Đây thực chất là từ "Tên đăng nhập" mã hóa trong cơ sở 64. Sử dụng một cơ sở 64 encoder như this one, mã hóa sử dụng của bạn và nhập tên. Làm tương tự cho mật khẩu của bạn, được yêu cầu tiếp theo. Bạn sẽ thấy:
235 2.7.0 Accepted
Và đó là nó, bạn đã đăng nhập.
Có một sự kỳ quặc khác cần khắc phục nếu bạn đang sử dụng các thiết bị đầu cuối OSx hoặc Linux. Chỉ cần nhấn phím "ENTER" không rõ ràng dẫn đến một CRLF mà SMTP cần phải kết thúc một tin nhắn. Bạn phải sử dụng "CTRL + V + ENTER". Vì vậy, điều này sẽ trông giống như sau:
^M
.^M
250 2.0.0 OK
Xem thêm: http://stackoverflow.com/a/36296872/59087 –