我希望发送嵌入HTML的图像以发送到发件人列表。
我需要使用win32com.client,SMTP被阻止。图像保存为png,最初是matplotlib条形图。
脚本成功发送收件人无法看到电子邮件中嵌入的图像的电子邮件。但是,当我向自己发送电子邮件时,我可以看到图像。
我尝试将附加图片添加到电子邮件中,但仍然没有运气。
email = """<body>
<p><img src="C:\output.png"></p>
</body>
"""
import win32com.client
olMailItem = 0x0
obj = win32com.client.Dispatch("Outlook.Application")
newMail = obj.CreateItem(olMailItem)
newMail.Subject = "the subject"
newMail.HTMLBody = email
newMail.To = "my_email@co.com;outside_email@co.com"
attachment1 = "C:\output.png"
newMail.Attachments.Add(attachment1)
newMail.Send()
任何帮助都非常感谢!
答案 0 :(得分:0)
分发列表和我有一个共享驱动器。我将文件保存在共享驱动器中,现在邮件的接收者可以看到电子邮件中的图像。
答案 1 :(得分:0)
我有类似的问题,通过身体发送图像。下面我附上了修复它的代码。
<强>代码:强>
(s.StaffID in (Select sch.StaffID From Schedule sch
where sch.AccountID=@AccountID
and sch.Date Between DATEADD(day, -90, @Today) and @Today
and sch.Status<>2))
AND
(s.StaffID Not in (Select sch.StaffID From Schedule sch
where sch.AccountID=@AccountID
and sch.Date Between DATEADD(day, -90, @Today) and @Today
and sch.Status=2))
答案 2 :(得分:0)
为了在邮件正文中显示图像,请使用以下代码:
mail.Attachments.Add(file_location + 'test.png')
mail.HTMLBody = "<html><body> <img src='cid:test.png'> </body></html>";
基本上,如果要在邮件正文中显示附件图像,则必须使用img src = 'cid:name'
进行引用,否则它将不会显示。