【问题标题】:Sending mail through python通过python发送邮件
【发布时间】:2014-08-31 19:19:02
【问题描述】:

我一直在尝试将邮件从 python 发送到 Outlook。正文不会出现在邮件中。邮件被发送,带有主题。身体是空白的。可能是什么问题?

这是我的代码:

import smtplib

    username = "neooooo@example.com"
    password = "@death123"

    print("Logged in ")

    vtext = "nihjdoiwjadv@example.com"
    message = "this is the message to be sent"

    msg = """From: %s
    To: %s
    Subject: Hi
    Body:%s""" % (username, vtext, message)

    print("Connecting to server")

    server = smtplib.SMTP('smtp.office365.com',587)
    server.starttls()
    server.login(username,password)
    server.sendmail(username, vtext, msg)
    server.quit()

    print("Done")

【问题讨论】:

  • 您是否尝试为msg 分配一个简单的字符串,例如msg = 'my test message'

标签: python email outlook


【解决方案1】:

正文不是标题的一部分,尤其是没有称为正文的标题。邮件正文位于标题之后,以空行分隔。

【讨论】:

    【解决方案2】:

    试试这个代码。它对我有用。

    import  smtplib,getpass,os
    from email.MIMEMultipart import MIMEMultipart
    from email.MIMEText import MIMEText
    
    os.system('clear')
    msg=MIMEMultipart()
    print "---------Python Mail Sender--------\n---------ONLY GMAIL Sender---------"
    frm=raw_input("From :  ")
    to=raw_input("To : ")
    msg['From']=frm
    msg['To']=to
    msg['Subject']=raw_input("Enter Subnject of mail : ")
    text=raw_input("Enter text to send in mail : ")
    
    msg.attach(MIMEText(text))
    try :
        mailserver=smtplib.SMTP("smtp.gmail.com",587)
        mailserver.ehlo()
        mailserver.starttls()
        mailserver.ehlo()
        mailserver.login(frm,getpass.getpass("Enter you password(Will not be visible as you Enter) : "))
    
        mailserver.sendmail(frm,to,msg.as_string())
    except Exception,e:
        print "ERROR : ",e
    
    finally:
        mailserver.quit()
    

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2023-02-05
      • 1970-01-01
      相关资源
      最近更新 更多