我正在嘗試發送帶有 html 代碼的電子郵件。我把我的形象放在里面。但是當收到郵件中的一封信時,影像不顯示。
<div class="header__container ">
<img src="mysite/logo.svg" alt="logo" class="header_img">
</div>
但是,它不會出現在電子郵件中。
<img src="https://ci6.googleusercontent.com/proxy/c33cuVIg8CI8ogTZFezJa6bgoZ97KqPgefyR9YPF6vSGfi1zqQFXkx3AMyB0h8hD338LoBPvMR7JTyIt3F0Y=s0-d-e1-ft#https://sherf201.pythonanywhere.com/logo.svg" alt="logo" class="CToWUd" data-bit="iit" jslog="138226; u014N:xr6bB; 53:W2ZhbHNlLDJd">
我在 Img 標簽中得到了這一行。我的電子郵件發送代碼
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
try:
server.login(EMAIL_BOT, PASSWORD_BOT)
msg = MIMEMultipart('alternative')
part1 = MIMEText(message, 'html')
msg.attach(part1)
msg['From'] = EMAIL_BOT
msg['To'] = email
msg["Subject"] = name
server.sendmail(EMAIL_BOT, email, msg.as_string())
except Exception as ex:
print(ex)
如何在我的 html 代碼中發送影像?
uj5u.com熱心網友回復:
許多電子郵件客戶端(以及 Outlook)不支持 SVG。如果您嘗試在 Outlook 中手動插入 SVG 檔案,您可能會發現它們已轉換為 JPEG 影像。
另一個方面是基于互聯網的影像(托管在任何地方的服務器上)在大多數電子郵件客戶端中默認被阻止。為避免這種情況,您需要將影像添加為附件,然后設定其Content-IDMIME 標頭。之后,您可以使用以下標記在郵件正文 (HTML) 中參考附加影像:
<img src="cid:MyContenttId">
uj5u.com熱心網友回復:
我想在答案中添加一個代碼,使您能夠實作在信件中發送影像的功能。
server.login(EMAIL_BOT, PASSWORD_BOT)
msg = MIMEMultipart('alternative')
part1 = MIMEText(message, 'html')
msg.attach(part1)
img_data = open('filename', 'rb').read()
img = MIMEImage(img_data, name = os.path.basename('filename'))
img.add_header('Content-ID', '<image>'.format('filename'))
msg.attach(img)
msg['From'] = EMAIL_BOT
msg['To'] = email
msg["Subject"] = name
server.sendmail(EMAIL_BOT, email, msg.as_string())
然后在html中:
<div class="header__container ">
<img src="cid:image" alt="logo" class="header_img">
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/533798.html
