解決Python STMP送信メールでsocket.error: [Errno 10061]


PythonがSTMPでメールを送る過程でsocketが現れた.Error:[Errno 10061]の問題です.次は問題のあるコードです.
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = '***@**.com'
receivers = ['***@**.com']  #     ,      QQ        

#     :        ,    plain       ,    utf-8     
message = MIMEText('Python SMTP       ', 'plain', 'utf-8')
message['From'] = Header("From  ", 'utf-8')
message['To'] =  Header("To  ", 'utf-8')

subject = 'Python SMTP     '
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP('localhost')
    smtpObj.sendmail(sender,receivers,message.as_string())
    print "      "
except smtplib.SMTPException:
    print "Error:       "

クエリーの後、sendmailをホストにインストールする必要があることがわかりました.上記のコードは正常に実行できます.私はsendmailをインストールしていないので、知りたいことは自分でsendmailを使ってメールを送ることができます.本機にsendmailがインストールされていない場合は、他のメールサービス業者が提供するSMTPアクセスを利用する必要があります(ここでは163メールボックスを使用しています).
# -*- coding:utf-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header

#     SMTP   
mail_host="smtp.163.com"  #     
mail_user="***@163.com"   #   
mail_pass="***"   #  

sender = '***@163.com'
receivers = '[***@163.com]'  #     ,      QQ        

message = MIMEText('Python SMTP       ', 'plain', 'utf-8')
message['From'] = Header("From  ",'utf-8')
message['To'] =  Header("To  ", 'utf-8')

subject = 'Python SMTP     '
message['Subject'] = Header(subject, 'utf-8')

try:
    smtpObj = smtplib.SMTP()
    smtpObj.connect(mail_host, 25)    # 25   SMTP    
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender, receivers, 
    message.as_string())
    print "      "
except smtplib.SMTPException:
    print "Error:       "

これでメールの送信が成功しました.注意:使用するsenderとreceiversは、対応するメールボックス設定でSMTPサービスを開く必要があります.そうしないと、送信は成功しません.
References:菜鳥チュートリアル-Pythonチュートリアル