我想用Python发送一封电子邮件:
import smtplib
fromaddr = '......................'
toaddrs = '......................'
msg = 'Spam email Test'
username = '.......'
password = '.......'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Run Code Online (Sandbox Code Playgroud)
我知道这可能不是正确的消息格式.
无论如何,我收到一个错误:
C:\.....>python email.py
Traceback (most recent call last):
File "email.py", line 1, in <module>
import smtplib
File "C:\.....\Python\lib\smtplib.py", line 47,
in <module>
import email.utils
File "C:\.....\email.py", line 15, in
<module>
server = smtplib.SMTP('smtp.gmail.com', 587)
AttributeError: 'module' object has no attribute 'SMTP'
Run Code Online (Sandbox Code Playgroud)
我不太明白我在这里做错了什么......有什么不对吗?
注意:所有期间都是密码/电子邮件/文件路径/等的替换.
我的目标是使用Python向具有内嵌图像的Gmail用户发送电子邮件.href由于图像的敏感性(来自我工作的数据),无法在线托管此图像然后通过a链接到该图像.
我已经尝试将该base64版本编码为HTML然后发送HTML,但众所周知,这不起作用.然后我注意到,在Gmail中,您可以将图像拖放到发送框中,它将在接收端显示为内联.鉴于此,我尝试从Python发送一封电子邮件,并将图像作为附件.这可以在下面的代码中看到,但不幸的是图像没有显示为内联.
我的问题是:如何发送图像使其显示为内联?
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os
gmail_user = "user1@gmail.com"
gmail_pwd = "pass"
to = "user2@gmail.com"
subject = "Report"
text = "Picture report"
attach = 'TESTING.png'
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(text))
part = MIMEBase('application', 'octet-stream')
part.set_payload(open(attach, 'rb').read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition',
'attachment; filename="%s"' % os.path.basename(attach))
msg.attach(part)
mailServer = smtplib.SMTP("smtp.gmail.com", …Run Code Online (Sandbox Code Playgroud)