簡體   English   中英

使用Python 3發送電子郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM