python-3.x - 如何使用 Python smtplib 使电子邮件文本加粗?
问题描述
我写了一个应用程序来检查股票价格,如果有重大变化,请拉新闻文章并通过电子邮件发送给我。一切都很好,除了我想将电子邮件文本的一部分格式化为粗体。我已经尝试了\033[1mSome Text\033[0m
方法**Some Text**
和<b>Some Text</b>
方法,但它们似乎都不起作用。这是构建消息和发送电子邮件的代码的简单示例。
message_header = f"\033[1m{company} ({symbol}) changed by {percent_change}% from ${round(prev_close, 2)}" \
f" to ${round(most_recent_close, 2)}.\033[0m\n\n" \
f"Here is the related news.\n\n"
for item in range(0, len(top_stories) - 1):
my_message = my_message + f"From: {top_stories[item]['source']['name']}\n" \
f"Title: {top_stories[item]['title']}\n" \
f"Brief: {top_stories[item]['description']}\n" \
f"Url: {top_stories[item]['url']}\n\n"
if my_message == "":
my_message = message_header + "Unfortunately, there was no related news.\n\n\n"
else:
my_message = message_header + my_message + "\n"
email_message = email_message + my_message
with smtplib.SMTP("smtp.gmail.com", port=587) as connection:
connection.starttls()
connection.login(user=MY_EMAIL, password=PASSWORD)
connection.sendmail(
from_addr=MY_EMAIL,
to_addrs=recipients,
msg=f"Subject:Stock Alerts!\n\n{email_message}\n\nRegards"
)
我只想将我的 message_header 的第一行加粗,即ADOBE INC (ADBE) 从 $643.17 变为 $657.6 更改了 2.19%。
下面是我的实际电子邮件输出的样子,我得到的是** **
<b> </b>
or [1m [0m
而不是粗体文本。如果我打印到控制台,它会很好。如果有人可以解释我在这里缺少什么,我会很高兴。
[1mADOBE INC (ADBE) 从 643.17 美元上涨 2.19% 至 657.6 美元。[0米
这是相关新闻。
来自:路透社标题:“忘记十二月”:汽车制造商,零售商在供应链困境中削减电视广告 - 路透社
简介:多年来,豪华汽车品牌一直在用雷克萨斯“难忘的十二月”这样的口号来促进假日销售。
解决方案
推荐阅读
- javascript - JavaScript如何获取按钮是否处于活动状态(单击后)
- python - 在枚举值中使用类函数时,“函数”对象没有属性“值”
- ios - SwiftUI,iOS:如何从自定义内部视图访问 @main 结构内的公共函数?
- c# - WinUI:是否可以在 NavigationViewItemHeader 中显示除文本以外的任何内容
- python - Dagster 运行多个项目的管道
- linux - 在linux的sh文件中添加大数
- r - R中的对数转换函数
- c++ - 在 C++ 编程中,main() 函数是像 java 中的静态函数还是像 C 中的非静态函数?
- javascript - React Native App - 在标题和选项卡导航器上添加触发特定屏幕功能的按钮
- python - 如何为我的 oem_data 程序使用多线程来支持多个设备?