首页 文章

如何在python电子邮件脚本中的发件人地址之前添加发件人名称

提问于
浏览
0

这是我的代码

# Import smtplib to provide email functions
    import smtplib

    # Import the email modules
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText

    # Define email addresses to use
    addr_to   = 'user@outlook.com'
    addr_from = 'user@aol.com'

    # Define SMTP email server details
    smtp_server = 'smtp.aol.com'
    smtp_user   = 'user@aol.com'
    smtp_pass   = 'pass'

    # Construct email
    msg = MIMEMultipart('alternative')
    msg['To'] = addr_to
    msg['From'] = addr_from
    msg['Subject'] = 'test test test!'

    # Create the body of the message (a plain-text and an HTML version).
    text = "This is a test message.\nText and html."
    html = """\

    """

    # Record the MIME types of both parts - text/plain and text/html.
    part1 = MIMEText(text, 'plain')
    part2 = MIMEText(html, 'html')

    # Attach parts into message container.
    # According to RFC 2046, the last part of a multipart message, in this case
    # the HTML message, is best and preferred.
    msg.attach(part1)
    msg.attach(part2)

    # Send the message via an SMTP server
    s = smtplib.SMTP(smtp_server)
    s.login(smtp_user,smtp_pass)
    s.sendmail(addr_from, addr_to, msg.as_string())
    s.quit()

我只是希望收到的电子邮件在发件人电子邮件地址之前显示发件人姓名,如下所示:sender_name

2 回答

  • 0

    这取决于“友好名称”是基本ASCII还是需要特殊字符 .

    基本示例:

    msg['From'] = str(Header('Magnus Eisengrim <meisen99@gmail.com>'))
    

    如果你需要使用非US-ASCII字符,它会更复杂,但附加的文章应该有所帮助,它非常彻底:http://blog.magiksys.net/generate-and-send-mail-with-python-tutorial

  • 0

    您可以使用下面提到的代码,您只需要使用用户名和密码更改发件人和收件人,它将适合您 .

    import smtplib
    
    sender = 'xyz@gmail.com'
    receivers = ['abc@gmail.com']
    
    message = """From: sender_name <xyz@gmail.com>
    To: reciever_name <abc@gmail.com>
    Subject: sample test mail
    
    This is a test e-mail message.
    """
    
    try:
       smtpObj = smtplib.SMTP('smtp_server',port)
       smtpObj.sendmail(sender, receivers, message) 
       smtpObj.login(user,password)        
       print ("Successfully sent email")
    except:
       print ("Error: unable to send email")
    

相关问题