You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在HTML格式邮件正文中为列表添加换行符

解决方案

问题出在你用'\n'.join()拼接列表项,HTML里的换行需要用<br>标签,而不是普通的换行符\n。修改代码里的列表拼接部分即可:

  1. 核心修改:替换列表分隔符
    把

    lists= '\n'.join(str(serv)  for serv in servers)
    

    改成

    lists= '<br>'.join(str(serv)  for serv in servers)
    
  2. 可选优化:简化消息拼接逻辑
    原代码里的字符串拼接方式容易混乱,建议统一写法,直接使用<br>标签(无需转义,因为是直接插入HTML内容):

    message = 'Hi<br><br> Please help check the names below:<br><br>' + lists
    

修改后的完整代码示例:

import win32com.client
outlook = win32com.client.Dispatch("Outlook.Application")
mail = outlook.CreateItem(0)
mail.Sender = Sender
mail.Subject = "List"
mail.GetInspector()  # 补充原代码遗漏的括号

index = mail.HTMLbody.find('>', mail.HTMLbody.find('<body')) 
lists= '<br>'.join(str(serv)  for serv in servers)
message = 'Hi<br><br> Please help check the names below:<br><br>' + lists
mail.HTMLbody = mail.HTMLbody[:index + 1] + message + mail.HTMLbody[index + 1:] 
mail.Display()

修改后,每个列表项会被<br>标签分隔,邮件里会呈现你需要的换行效果。

内容的提问来源于stack exchange,提问作者Veck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 06:37:15