Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';不要用Python发送电子邮件_Python_Email_Smtp_Smtplib - Fatal编程技术网

Can';不要用Python发送电子邮件

Can';不要用Python发送电子邮件,python,email,smtp,smtplib,Python,Email,Smtp,Smtplib,我有这段代码,因为我正在尝试使用Python发送电子邮件 def Mail(): import smtplib import textwrap SERVER = "localhost" FROM = "fromemail" TO = ["toemail"] SUBJECT =(input('What is the subject of your E-Mail')) TEXT =(input('What do you want the E-Mail

我有这段代码,因为我正在尝试使用Python发送电子邮件

def Mail():
   import smtplib
   import textwrap
   SERVER = "localhost"

   FROM = "fromemail"
   TO = ["toemail"] 

   SUBJECT =(input('What is the subject of your E-Mail'))

   TEXT =(input('What do you want the E-Mail to say?'))

   message = textwrap.dedent("""\
   From: %s
   To: %s
   Subject: %s

   %s
   """ % (FROM, ", ".join(TO), SUBJECT, TEXT))

   server = smtplib.SMTP(SERVER)
   server.sendmail(FROM, TO, message)
   server.quit()
这是我收到的错误消息

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    Mail()
  File "E:\Coursework\EMail.py", line 26, in Mail
    server = smtplib.SMTP(SERVER)
  File "C:\Python33\python-3.3.5\lib\smtplib.py", line 241, in __init__
    (code, msg) = self.connect(host, port)
  File "C:\Python33\python-3.3.5\lib\smtplib.py", line 322, in connect
    (code, msg) = self.getreply()
  File "C:\Python33\python-3.3.5\lib\smtplib.py", line 375, in getreply
    raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
邮件()
邮件中第26行的文件“E:\Coursework\EMail.py”
server=smtplib.SMTP(服务器)
文件“C:\Python33\python-3.3.5\lib\smtplib.py”,第241行,在\uuu init中__
(代码,消息)=自连接(主机,端口)
文件“C:\Python33\python-3.3.5\lib\smtplib.py”,第322行,在connect中
(代码,msg)=self.getreply()
getreply中第375行的文件“C:\Python33\python-3.3.5\lib\smtplib.py”
升起SMTPServerDisconnected(“连接意外关闭”)
smtplib.SMTPServerDisconnected:连接意外关闭

连接意外关闭表示服务器可能已打开,但无法创建到smtplib的连接

您可以检查端口25 smtp服务的状态,以验证

#netstat-an | grep-i:25
tcp 0 0 127.0.0.1:25 0.0.0.0:*收听

然后,检查占用端口25的服务的状态

#netstat-plnt | grep-i:25
tcp 0 0 127.0.0.1:25 0.0.0.0:*收听30860/master

你可能会有同样的, 然后只需检查主/后缀进程的状态

#系统CTL状态后缀

如果将错误突出显示为

致命:无法处理具有“inet\u协议=ipv4”的套接字类型AF\u INET6

然后快速转到位于/etc/postfix/main.cf的后缀配置文件,检查是否有此文本并取消注释

inet\u协议=ipv4

然后重新启动postfix

#systemctl重启后缀

然后检查状态,希望不会出现任何错误。 然后检查python是否能够连接到SMTP服务器

$python-c'导入smtplib;smtplib.SMTP(“本地主机”);'

您不应该得到任何显示python能够连接到SMTP服务器的输出


您现在可以运行电子邮件发送脚本了

您的计算机上是否运行邮件服务器(可能是
smtpd
sendmail
)?如果没有,这将解释您的错误,因为本地主机上没有可连接的内容。您是否使用
telnet localhost 25
获取SMTP问候邮件?[翻译:是python故障吗?]如何知道邮件服务器是否正在运行?我有能力发送/检索电子邮件。有没有一种简单的方法可以通过python发送电子邮件?