我正在尝试使用Python发送电子邮件,我使用了在官方网站(https://docs.python.org/3/library/email.examples.html)上找到的材料,但在发送电子邮件时遇到错误。当我使用Java时,使用端口和服务器是可行的,但是当在Python中使用相同的细节时,代码就不能工作了。
我正在测试的代码:
import smtplib
from email.message import EmailMessage
port = 25
server = "172.xxx.xxx.xxx"
from_add = "test@fakemail.com"
to_add = "test@fakemail.com"
message = "This is a test Email"
subject = "Test Email"
msg = EmailMessage()
msg.set_content(message)
msg["Subject"] = subject
msg["From"] = from_add
msg["To"] = to_add
#Send the message via our own SMTP server
s = smtplib.SMTP(server)
s.send_message(msg)
s.quit()当我运行我的代码时,我得到下面的错误。我一直在网上搜索,所有我发现的都是关于套接字的错误(我试图添加我在任何示例中都没有看到的错误。我的防火墙管理员告诉我,他没有看到任何流量被阻塞。有没有人知道我的代码是不是错了?
原创
Traceback (most recent call last):
File "X:/test/test_email.py", line 21, in <module>
s = smtplib.SMTP(server)
File "X:\Enviroments_For_Python\PROD\lib\smtplib.py", line 251, in __init__
(code, msg) = self.connect(host, port)
File "X:\Enviroments_For_Python\PROD\lib\smtplib.py", line 336, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "X:\Enviroments_For_Python\PROD\lib\smtplib.py", line 307, in _get_socket
self.source_address)
File "X:\Enviroments_For_Python\PROD\lib\socket.py", line 728, in create_connection
raise err
File "X:\Enviroments_For_Python\PROD\lib\socket.py", line 711, in create_connection
sock = socket(af, socktype, proto)
File "X:\Enviroments_For_Python\PROD\lib\socket.py", line 151, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
OSError: [WinError 10022] An invalid argument was supplied
Process finished with exit code 1套接字更改(不起作用)
s.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sock.bind(server, port)发布于 2020-06-12 20:27:10
我找到问题了。我正在使用Anaconda,并且创建了一个不同的环境。当我切换到根环境时,我的代码可以正常工作。
https://stackoverflow.com/questions/62327460
复制相似问题