Python奇怪的发送电子邮件行为

Python奇怪的发送电子邮件行为,python,Python,我有可以正确发送电子邮件的基本脚本: #!/usr/bin/python import smtplib sender = 'demo@mail.com' receivers = ['demo2@mail.com'] message = """From:Email cronjob <demo@mail.com> Subject: Anything Some more text """ message = message + "\nso far so goo

我有可以正确发送电子邮件的基本脚本:

#!/usr/bin/python 
import smtplib

sender = 'demo@mail.com'  
receivers = ['demo2@mail.com']  
message = """From:Email cronjob <demo@mail.com> Subject:  
Anything  

Some more text """    
message = message + "\nso far so good"

try:    
   smtpObj = smtplib.SMTP('localhost')   
   smtpObj.sendmail(sender, receivers,message)             
   print "Successfully sent email" 
except SMTPException:    
   print "Error: unable to send email"
#/usr/bin/python
导入smtplib
发送者demo@mail.com'  
接收者=['demo2@mail.com']  
message=“”发件人:电子邮件收件人:
任何东西
还有一些文字吗
message=message+“\n到目前为止还不错”
尝试:
smtpObj=smtplib.SMTP('localhost')
smtpObj.sendmail(发送者、接收者、消息)
打印“已成功发送电子邮件”
除SMTPException外:
打印“错误:无法发送电子邮件”
通过上面的代码片段,电子邮件已正确发送,但是如果我将相同的脚本作为如下所示的方法:

#!/usr/bin/python
import smtplib

def sendMail(text):    
    sender = 'demo@mail.com'    
    receivers = ['demo2@mail.com']

    message = """From: Email cronjob <demo@mail.com>    
    Subject: Anything
    Initial text    """       
    message = message + text

    try: 
       smtpObj = smtplib.SMTP('localhost')  
       smtpObj.sendmail(sender, receivers, message)  
       print "Successfully sent email"    
    except SMTPException:   
       print "Error: unable to send email"

sendMail("\nlet's try it")
#/usr/bin/python
导入smtplib
def sendMail(文本):
发送者demo@mail.com'    
接收者=['demo2@mail.com']
message=“”发件人:电子邮件cronjob
主题:任何事
初始文本“”
消息=消息+文本
尝试:
smtpObj=smtplib.SMTP('localhost')
smtpObj.sendmail(发送者、接收者、消息)
打印“已成功发送电子邮件”
除SMTPException外:
打印“错误:无法发送电子邮件”
sendMail(“\n让我们试试看”)
电子邮件已发送,但发件人地址、电子邮件标题和收件人地址在收到的电子邮件中不再可见,仅显示正文


我怎样才能解决这个问题?感谢使用advanced。

正确缩进您的代码,并确保电子邮件标题(如From和Subject)位于各自的行中,至少用换行符(\n)分隔,然后是电子邮件正文。这两个示例中的行为应该一致。

正确缩进代码,并确保电子邮件标题(如From和Subject)位于各自的行中,至少用换行符(\n)分隔,然后是电子邮件正文。在这两个示例中,您应该有一致的行为。

结果如下:

message=“”发件人:%s\nTo:%s\n对象:我的主题\a标题\n\n%s”“”%(发件人、收件人、结果)

谢谢。

这就解决了:

message=“”发件人:%s\nTo:%s\n对象:我的主题\a标题\n\n%s”“”%(发件人、收件人、结果)


谢谢。

如果Senthil Kumaran的回答帮助您解决了问题,您应该接受他的回答。此外,这种回答最好是作为对答案的评论,而不是作为自己的答案。如果Senthil Kumaran的答案帮助你解决了问题,你应该接受他的答案。而且,这种回答最好是作为对答案的评论,而不是作为自己的答案。