我有一个可以完美发送电子邮件的代码,但是现在我需要进行一些更新并以html格式发送电子邮件。我尝试研究,但是他们没有为我工作。如何将格式更改为html?现在,我以字符串而不是html的形式接收此代码。
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(f'{login_email}', f'{login_email_pass}')
Subject = f'{program_name} : Launch verification'
server.add_header('Content-Type','text/html')
Body2 = """\
<!DOCTYPE html>
<html>
<body>
<h1 style="color:black;text-align:center;font-family:verdana">SERVER 51SV15J LAUNCH</h1>
<p style="color:black;text-align:center;font-family:courier;font-size:120%">Code for confirmation is - <b>51256fd.</b></p>
</body>
</html>
"""
Body = f'{service} just have been started.\nServer Details:\nServer IPV4 : {Ipv4_Address}\nServer IPV6 : {Ipv6_Address}\nServer Region : {Ip_region}\nServer Internet Providers : {Ip_org}\nServer SessionID : {SessionID}\n\n* To verify it, please enter the code : {Code}'
msg = f"Subject : {Subject}\n\n{Body2}"
server.sendmail(
f'{login_email}',
f'{test_email}',
msg
)
我不确定如何通过smtp.ehlo()使用它,但是也可以按照以下步骤进行:
import os
import smtplib
from email.message import EmailMessage #new
EMAIL = f'{login_email}
PASSWORD = f'{login_email_pass}'
message = EmailMessage()
message['Subject'] = f'{program_name} : Launch verification'
message['From'] = EMAIL
message['To'] = EMAIL
message.set_content('This email is sent using python.')
message.add_alternative("""\
<!DOCTYPE html>
<html>
<body>
<h1 style="color:black;text-align:center;font-family:verdana">SERVER 51SV15J LAUNCH</h1>
<p style="color:black;text-align:center;font-family:courier;font-size:120%">Code for confirmation is - <b>51256fd.</b></p>
</body>
</html>
""", subtype = 'html')
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
smtp.login(EMAIL, PASSWORD)
smtp.send_message(message)
希望对您有所帮助。我没有尝试过,但是使用了这里的代码并对其进行了编辑以满足您的情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句