提问人:Ernesto Ruiz 提问时间:10/24/2023 最后编辑:wjandreaErnesto Ruiz 更新时间:10/24/2023 访问量:36
如何使用 python3 smtplib 向多个收件人发送 html 电子邮件
How to send html email to multiple recipients using python3 smtplib
问:
我正在尝试使用 python-3.10 向多个收件人发送带有 HTML 内容的电子邮件我已经阅读了文档并提出了以下代码,但是,尽管电子邮件已发送给所有收件人,但该消息未正确显示 html。我收到的消息没有 html 格式,也没有换行符。我收到的电子邮件文本:
我做错了什么?我需要能够向多个收件人发送 html 电子邮件 这是我的代码。(出于安全原因,我无意中隐藏了服务器的凭据)
import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.message import EmailMessage
from email.utils import make_msgid
cobertura = "Movistar"
msisdn="53763615"
client_name="Ernesto Ruiz Rodriguez"
client_document="786876876786786"
mensaje="Este mensaje ha sido enviado a los administradores solamente"
content_text=f"""\
Saludos
El sistema PANIX ha recibido una nueva portabilida móvil inversa con los siguientes datos:
Cobertura: {cobertura}
Msisdn: {msisdn}
Nombre cliente: {client_name}
Documento cliente: {client_document}
Otra información de interes:
{mensaje}
Le recomendamos hacer un seguimiento del estado de esta portabilidad desde el apartado "Portabilidad móvil/Solicitudes portabilidad móvil inversa"
Atentamente:
Equipo Panix
"""
content_html=f"""\
<html>
<head></head>
<body>
<p><strong>Saludos</strong></p>
<p>El sistema PANIX ha recibido una nueva portabilida móvil inversa con los siguientes datos:</p>
<p><strong>Cobertura:</strong> {cobertura}</p>
<p><strong>Msisdn:</strong> {msisdn}</p>
<p><strong>Nombre cliente:</strong> {client_name}</p>
<p><strong>Documento cliente:</strong> {client_document}</p>
<p><strong>Otra información de interes:</strong></p>
<p>{mensaje}</p>
<p>Le recomendamos hacer un seguimiento del estado de esta portabilidad desde el apartado "Portabilidad móvil/Solicitudes portabilidad móvil inversa".</p>
<p>Atentamente:</p>
<p>Equipo Panix</p>
</body>
</html>
"""
mail=smtplib.SMTP('smtp.server.com', 587)
mail.ehlo()
mail.starttls()
mail.login('[email protected]','password')
sender_email='[email protected]'
receiver_email='[email protected], [email protected]'
message = EmailMessage()
message["Subject"] = "Message with html to multiple receipents"
message["From"] = sender_email
message["To"] = receiver_email
message.set_content(content_text)
message.add_alternative(content_text, subtype='html')
mail.send_message(message)
mail.close()
答: 暂无答案
评论
content_html
content_text
message.add_alternative(content_html, subtype='html')