使用SMTPLIB发送电子邮件的变量



对于一个项目,我希望我的程序将电子邮件发送到我自己的帐户。我目前正在使用smptlib来做到这一点。我发送的电子邮件是用HTML编写的。问题在于我不知道如何在此电子邮件中包含变量,因为它们会发生变化。有人可以帮我吗?

我已经尝试添加

之类的不同语法
y = 20
x = ('percentage: %i', 20)
x = f'percentage: {y}'

,但它们似乎没有以三重报价方式使用msg.add_alternative函数

这是我的一些代码:

import smtplib
msg = EmailMessage()
msg['Subject'] = 'test'
msg['From'] = EMAIL_ADDRESS
msg['To'] = 'niek9999@gmail.com'
msg.set_content('Hello')
percentage = 32 
msg.add_alternative(("""
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" 
...
<li style="font-size: 14px; line-height: 19.6px;"><span style="font-size: 16px; line-height: 22.4px;">percentage: <PERCENTAGE HERE> %</span></li>
..."""
subtype= 'html')

with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
    smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
    smtp.send_message(msg)

我想实现将要发送的电子邮件中有一个百分比的目标。

我希望有人可以帮助我,谢谢!

语法f"""{percent}"""肯定在Python 3.7.0上工作。我只是尝试了。请发布您运行的代码和您遇到的错误。

(base) C:Usersandrás>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> percent=20
>>> s=f"""percent is: "{percent}""""
>>> s
'percent is: "20"'
>>>

最新更新