[英]Send an e-mail using Python 3
我正在開發一款猜謎游戲,其中有大量角色,它為您提供了猜角色的提示。 還可以在其中提交角色。 我想這樣做,以便在有人提交角色的情況下給我發送電子郵件,但它不起作用。 這是我的代碼:
import smtplib
FROM = 'Guess@Character.com'
TO = ["mikpe120@gmail.com"] # must be a list
SUBJECT = "Somebody submitted a character!"
TEXT = "Name: " + name + "NameType: " + nameType
# Prepare actual message
message = """\
From: %s
To: %s
Subject: %s
%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
# Send the mail
server = smtplib.SMTP('myserver')
server.sendmail(FROM, TO, message)
server.quit()
這是我得到的錯誤:
Traceback (most recent call last):
File "C:/Users/Mikolaj Perzyna/Desktop/addCharacter.py", line 106, in <module>
server = smtplib.SMTP('myserver')
File "C:\Users\Mikolaj Perzyna\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "C:\Users\Mikolaj Perzyna\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 335, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "C:\Users\Mikolaj Perzyna\AppData\Local\Programs\Python\Python36\lib\smtplib.py", line 306, in _get_socket
self.source_address)
File "C:\Users\Mikolaj Perzyna\AppData\Local\Programs\Python\Python36\lib\socket.py", line 704, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "C:\Users\Mikolaj Perzyna\AppData\Local\Programs\Python\Python36\lib\socket.py", line 743, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno 11001] getaddrinfo failed
很抱歉,如果我將帖子的格式設置錯誤,可能是這樣,但這是我在網站上遇到的第一個問題。
getaddrinfo failed
意味着套接字連接smptlib.SMTP
使用失敗來解析服務器的主機名。 嘗試使用其他SMTP服務器或其他IP /主機名。
這行幾乎可以肯定是錯誤的。
server = smtplib.SMTP('myserver')
您的SMTP服務器真的叫myserver
嗎? 我希望在那里能看到類似mail.mydomain.com
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.