[英]How Do I Send Emails Using Python 3.4 With GMail?
我一直在嘗試一些代碼,例如:
import smtplib
def sendemail(from_addr, to_addr_list, cc_addr_list,
subject, message,
login, password,
smtpserver='smtp.gmail.com:587'):
header = 'From: %s\n' % from_addr
header += 'To: %s\n' % ','.join(to_addr_list)
header += 'Cc: %s\n' % ','.join(cc_addr_list)
header += 'Subject: %s\n\n' % subject
message = header + message
server = smtplib.SMTP(smtpserver)
server.starttls()
server.login(login,password)
problems = server.sendmail(from_addr, to_addr_list, message)
server.quit()
sendemail(from_addr = 'python@RC.net',
to_addr_list = ['example@gmail.com'],
cc_addr_list = ['example@gmail.com'],
subject = 'Howdy',
message = 'Hello!',
login = 'example@gmail.com',
password = 'XXXX')
除非帶有實際密碼和詳細信息。
它帶來此錯誤:
Traceback (most recent call last):
File "User/Python/Email.py", line 27, in <module>
password = 'lollol69')
File "User/Python/Email.py", line 15, in sendemail
server = smtplib.SMTP(smtpserver)
File "C:\Python34\lib\smtplib.py", line 242, in __init__
(code, msg) = self.connect(host, port)
File "C:\Python34\lib\smtplib.py", line 321, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Python34\lib\smtplib.py", line 292, in _get_socket
self.source_address)
File "C:\Python34\lib\socket.py", line 509, in create_connection
raise err
File "C:\Python34\lib\socket.py", line 500, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
理想情況下,我可以知道代碼有什么問題以及如何解決。 如果完全錯誤,那么不勝感激Gmail的一些工作代碼。
謝謝!
您必須拆分smpt服務器地址和端口,並將它們用作smtplib.SMTP('smtp.gmail.com', 587)
單獨參數,請參閱https://docs.python.org/3.4/library/smtplib.html :
import smtplib
def sendemail(from_addr, to_addr_list, cc_addr_list,
subject, message,
login, password,
smtpserver='smtp.gmail.com', smtpport=587): # split smtpserver and -port
header = 'From: %s\n' % from_addr
header += 'To: %s\n' % ','.join(to_addr_list)
header += 'Cc: %s\n' % ','.join(cc_addr_list)
header += 'Subject: %s\n\n' % subject
message = header + message
server = smtplib.SMTP(smtpserver, smtpport) # use both smtpserver and -port
server.starttls()
server.login(login,password)
problems = server.sendmail(from_addr, to_addr_list, message)
server.quit()
sendemail(from_addr = 'python@RC.net',
to_addr_list = ['example@gmail.com'],
cc_addr_list = ['example@gmail.com'],
subject = 'Howdy',
message = 'Hello!',
login = 'example@gmail.com',
password = 'XXXX')
順便說一句:更改您的Gmail密碼,該密碼已在stacktrace中發布
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.