下面的例子是用qq的smtp服務器。
set localecho 本地回顯啟用 telnet smtp.qq.com 25 220 smtp.qq.com Esmtp QQ Mail Server helo sis 250 smtp.qq.com//服務器返回250 smtp.qq.com STARTTLS 220 Ready to start TLS//服務器返回 220 準備開啟TLS通訊 auth login 334 VXNlcm5hbWU6//服務器返回334 VXNlcm5hbWU6(即Username:) ***/*此處輸入base64編碼后的qq郵箱名*/ 334 UGFzc3dvcmQ6 ***/*此處輸入base64編碼后的授權碼,需要到qq郵箱申請,自己百度一下*/ 235 Authentication successful mail from: <3463684353@qq.com>//發件郵箱 250 Ok rcpt to: <3463684353@qq.com>//發件郵箱 250 Ok data 354 End data with <CR><LF>.<CR><LF> to: hello// from: nian// subject: this is a test telnet smtp mail hello,telnet//消息內容. 250 Ok: queued as
?
其中的命令說明如下
?
可能遇到的問題是
1、首先telnet命令不存在,自己去百度下安裝即可,很簡單。
2、在和服務器通訊時?helo sis,回車后可能會出現【502 Error: command not implemented】,可以重新輸入helo sis,或者helo 其他內容都可以,這邊只是打個招呼。
出現上面的錯誤,多試幾次即可,可能是服務器狀態比較忙。
3、auth login后需要輸入你的qq郵箱的用戶名和密碼,而且要轉換為BASE64編碼,隨便找個百度應用都有這個功能。如QQ 352000114 用戶名對應MzUwNTEwMzc2,
此過程可能也要多做幾次,鑒于服務器的狀態。
4、輸入用戶名和密碼后出現如下錯誤【發送郵件錯誤 454 Authentication failed, please open smtp flag first!】,
這個是我糾結了好久的問題,解決方式如下:
在QQ郵箱的設置里面,找到賬戶-》POP3/IMAP/SMTP選擇開啟POP3/SMTP服務
5、to: hello? “郵件收件人的名稱
from: nian ”郵件來源名稱
subject: this is a test telnet smtp mail “主旨
hello,telnet ”內容
6、最后輸入點,回車即結束郵件的發送
7、退出連接,可使用命令 quit
?
補充一點,使用telnet要先打開SMTP服務,auth login之后要填寫授權碼
?
?