Python发送的SMTP邮件未包含主题行
我的代码可以正常运行并发送邮件。
但是邮件里的收件人和主题没有显示出来。这里是我用的代码片段。可能是什么问题呢?
代码:
username = "N@EXAMPLE.com"
password = "fnEOFINO”
print("Logged in")
sender = 'n@example.com'
receivers = 'T@example.com'
message = """From: Neeraja Rajiv <NRajiv@EXAMPLE.com>
To: T@EXAMPLE.COM
Subject: SMTP e-mail test
Overall
%d
"""%(variable)
print("Connecting to server")
server = smtplib.SMTP('SMTP-********.com', 25)
print("Connected to server")
server.set_debuglevel (1)
server.sendmail(sender,receivers,message)
print ("Successfully sent email")
在邮件中,主题缺失了。
任何建议或方法都非常欢迎。
2 个回答
0
Padraic Cunningham的例子看起来没问题。这是另一个例子。也许这能帮到你...
下面是一个用Python发送邮件到SMTP服务器的示例脚本:
首先,你需要导入一个叫做smtplib的库,这个库可以帮助你发送邮件。
接下来,你可以用try语句来尝试执行一些代码:
host = '?.?.?.?' #The Address To Your SMTP Server...
port = 25
to = 'reciever@someplace.com' #Reciever Of Email...
from_addr = 'sender@someplace.com' #Sender Of Email...
subject = '<YOUR SUBJECT HERE>' #Subject Of Email...
text_line_1 = 'Body Line 1...\r\n' #Body Of Email...
text_line_2 = '\r\n'
text_line_3 = 'Body Line 3...\r\n'
text_line_4 = '\r\n'
text_line_5 = 'Body Line 5...\r\n'
total_message = text_line_1 + text_line_2 + text_line_3 + text_line_4 + text_line_5
msg = "From: %s\nTo: %s\nSubject: %s\n\n%s" % (from_addr, [to], subject, total_message)
server = smtplib.SMTP(host, port)
server.sendmail(from_addr, to, msg)
print('Successfully Sent Email...')
如果在执行过程中出现了问题,except语句会捕捉到这个错误,并打印出错误信息:
祝你好运...
0
我觉得你的问题出在你创建消息的方式上,下面的示例代码是修正后的版本,可以正常工作:
msg = """From: 'From Neeraja Rajiv <NRajiv@EXAMPLE.com>'
To: 'To Toffet Joseph - Consultant <TJoseph@EXAMPLE.com>'
Subject: 'SMTP e-mail test'
Overall'{}'""".format(variable)
username = "foo"
password = "bar"
print("Logged in")
import smtplib
sender = "foo@gmail.com"
receivers = "bar@gmail.com"
msg = """From: 'From Neeraja Rajiv <NRajiv@EXAMPLE.com>'
To: 'To Toffet Joseph - Consultant <TJoseph@EXAMPLE.com>'
Subject: 'SMTP e-mail test'"""
server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)
server.sendmail(sender, receivers , msg)
server.quit()