如何使用vba将邮件附件中的图片以正文方式显示在邮件里?

z_22222 2020-05-11 11:02:30
Sub 发送邮件()
Dim newMlItem As Outlook.MailItem
ms = "C:\Users\Desktop\捕获.PNG"
FileName = "捕获.PNG"
Set newMlItem = Outlook.CreateItem(olMailItem)
With newMlItem
.Subject = "FW:"
.Attachments.add ms
.HTMLBody = "<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:""Arial"",sans-serif'><img id=""_捕获.PNG"" src=""cid:捕获.PNG""></span>"
.To = "xtms@sina.com"
.Send
End With
End Sub

这样发送出去的邮件,接收方无法显示图片

后来发现图片的实际地址是 "捕获.png@xxxxxxxx", 现在问题是该如何获得@以后的这部分地址信息。
...全文
1147 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jockey1234_ 2021-10-23
  • 打赏
  • 举报
回复
请问你这个问题解决了吗
qq_43686497 2021-12-27
  • 举报
回复
@jockey1234_ 请问你这个问题解决了吗
资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 使用Outlook时,邮件图片可能无法正常显示,通常会显示为一个小红叉,而图片作为附件存在。本文将介绍如何解决此问题。 该问题通常由以下两种原因导致: 临时文件夹路径错误:Outlook将邮件图片存储在特定临时文件夹。如果该文件夹路径配置错误或无法访问,图片将无法加载。 安全设置限制:Outlook的安全设置可能阻止某些来源的图片显示,尤其是默认限制外部内容显示。 步骤1:打开注册表编辑器 点击“开始”菜单,选择“运行”(或按“Win+R”键)。 输入regedit.exe并回车,打开注册表编辑器。若出现用户账户控制提示,点击“是”。 步骤2:定位注册表键值 在注册表编辑器,依次导航到HKEY_CURRENT_USER\Software\Microsoft\Office\XXX\Outlook\Security,其XXX为Outlook版本号(如Office 2010为14.0)。 步骤3:检查或创建“OutlookSecureTempFolder” 查找名为OutlookSecureTempFolder的项,这是Outlook存储临时文件的路径。 若存在,双击检查路径是否有效;若无效,需修改。 若不存在,手动新建一个字符串值,命名为OutlookSecureTempFolder。 步骤4:验证临时文件夹路径 复制OutlookSecureTempFolder的路径,粘贴到资源管理器地址栏,检查路径是否有效。 若路径无效,Outlook会自动在Internet临时文件目录下创建新子目录。 步骤5:确定有效路径 对于Windows 7/Vista系统: Outlook 2010/2007路径为C:\Users\用户名\AppData\Local\Microsoft\Win

5,173

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧