2017-04-24 6 views
-1

私はpython 3.6.0を学んでいます。メールクライアントを作成しようとしていました。 本からコードをコピーしましたが、動作しません。 私はこのエラーを取得する:Googleサーバーでsmtpセッションを作成できません

を「TimeoutError接続先が適切に一定期間後に応答、または確立connectio n個接続されたホストが応答に失敗したために失敗していなかったので、[WinError 10060]接続の試みが失敗しました」

これは私のコードです:

#!/usr/bin/env python3 
# Listing 2 
import getpass 
import smtplib 
from email.mime.image import MIMEImage 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 
SMTP_SERVER = 'smtp.gmail.com' 
SMTP_PORT = 587 # ssl port 465, tls port 587 
def send_email(sender, recipient): 
    """ Send email message """ 
    msg = MIMEMultipart() 
    msg['To'] = recipient 
    msg['From'] = sender 
    msg['Subject'] = input('Enter your email subject: ') 
    message = input('Enter your email message. Press Enter when finished. ') 
    part = MIMEText('text', "plain") 
    part.set_payload(message) 
    msg.attach(part) 
    # create smtp session 
    session = smtplib.SMTP(SMTP_SERVER, SMTP_PORT) 
    session.set_debuglevel(1) 
    session.ehlo() 
    session.starttls() 
    session.ehlo 
    password = getpass.getpass(prompt="Enter you email password:") 
    # login to server 
    session.login(sender, password) 
    # send mail 
    session.sendmail(sender, recipient, msg.as_string()) 
    print("You email is sent to {0}.".format(recipient)) 
    session.quit() 
if __name__ == '__main__': 
    sender = input("Enter sender email address: ") 
    recipient = input("Enter recipeint email address: ") 
    send_email(sender, recipient) 

誰も助けることができますか?どこが間違っていますか? ありがとうございます。

答えて

0

コードを実行しようとしましたが、うまく機能しているようです(電子メールを送信するためにアカウント情報を使用しました)。インターネット接続とファイアウォールを確認する必要があります。

+0

ありがとうございます。私の接続はうまくいくように見えますが、ファイアウォールを無効にしましたが、まだそのエラーがあります。調査を続ける... – Matt