Python 如何使用smtp模块将符号、数字、文本作为段落发送?

Python 如何使用smtp模块将符号、数字、文本作为段落发送?,python,smtp,Python,Smtp,正如您在下面看到的,我有一个脚本,它使用smtp模块将邮件发送回usr\u-mail,函数mail\u-man接受一个参数message,并通过邮件发送,在整个测试过程中,我向脚本传递了一些简单的消息,但我似乎没有发送传递的消息,而是显示此消息没有正文文本 一些信息示例: “你好,世界!!!:)” “您收到的邮件来自:”+str(usr\U邮件) “@somthing” 如何使用smtp模块发送带有符号、数字和字母的段落式邮件 import smtp def mail_man(message

正如您在下面看到的,我有一个脚本,它使用smtp模块将邮件发送回
usr\u-mail
,函数
mail\u-man
接受一个参数
message
,并通过邮件发送,在整个测试过程中,我向脚本传递了一些简单的消息,但我似乎没有发送传递的消息,而是显示
此消息没有正文文本

一些信息示例:

“你好,世界!!!:)”

“您收到的邮件来自:”+str(usr\U邮件)

“@somthing”

如何使用
smtp
模块发送带有符号、数字和字母的段落式邮件

import smtp


def mail_man(message):

    handle = smtplib.SMTP('smtp.gmail.com', 587)
    handle.starttls()
    handle.login(usr_mail , pass_wrd)
    handle.sendmail(usr_mail , usr_mail , message)
    handle.quit()


    print ( " Successfully sent email to :: " +  usr_mail)
    return 



if __name__ == "__main__":
    print (usr_mail , pass_wrd )
    mail_man(message="hello world !!! :) ")

我建议为段落回复创建一个单独的文件,然后从
smtplib
导入
EmailMessage()
类,这将允许您将该邮件传递到电子邮件。我建议尝试以下方法:

import smtplib
from email.message import EmailMessage

# Open the plain text file.
txtfile = 'name_of_your_file'
with open(txtfile) as f_obj:
   # Create a blank message and then add the contents of the
   # file to it
   msg = EmailMessage()
   msg.set_content(f_obj.read())

msg['Subject'] = 'your_subject'
msg['From'] = me
msg['To'] = you

# Send the message through your own SMTP server.
s = smtplib.SMTP('localhost')
s.send_message(msg)
s.quit()

这将允许您发送任何类型的长消息,因为它将文件内容保存为字符串,然后将其添加到文件中,这样就不会出现转换错误。

副本可能太技术化了;简短而贴切的解释是,在您的所有尝试中,
message
看起来都不是有效的SMTP邮件。