我有一个宏,可以解析电子表格并根据解析的数据编译电子邮件。我面临的问题是视觉格式。当我使用宏将电子邮件发送到 Outlook 电子邮件地址时,一切正常(html 代码有效),但是当我将相同的电子邮件发送到 gmail Web 客户端时,我丢失了 html 并且我的电子邮件已发送纯文本。这是我的电子邮件功能的样子:
Function OutlookEmail(SendTo As String, subject As String, Message As String, send As Boolean) Dim Outlook As Object, NewMail As Object, SafeItem As Object, Attach As Object Set Outlook = CreateObject("Outlook.Application") Set SafeItem = CreateObject("Redemption.SafeMailItem") Set NewMail = Outlook.CreateItem(0) SafeItem.Item = NewMail With SafeItem .Recipients.Add SendTo .Recipients.ResolveAll .subject = subject .HTMLBody = Message End With If send = True Then SafeItem.send If send = False Then SafeItem.display Set Outlook = Nothing Set NewMail = Nothing Set SafeItem = Nothing Set Attach = Nothing End Function
Redemption 是一个电子邮件插件,可帮助自动发送所有内容,Message 包含 HTML 和内联 css 格式的文本。
这是发送到 Outlook 客户端时的样子:
除了下面,这是一个带有一些格式的简单循环。CSS变量:
Dim CSS_p As String, CSS_phone As String, CSS_table As String, CSS_th As String, CSS_td As String
Dim CSS_first As String, CSS_last As String, CSS_jlist As String, CSS_warning As String, CSS_accent As String
CSS_p = " style='line-height: 16px;color: #666;margin-top: 10px; margin-bottom: 15px; margin-left: 20px; margin-right: 10px;'"
CSS_phone = " style='font-weight: bold;'"
CSS_table = " style='font-size: 14px; text-align: center;'"
CSS_th = " style='padding: 0 0.5em; text-align:center; " & _
"border-top: 1px solid #FB7A31; border-bottom: 1px solid #FB7A31; background-color: #FFC;'"
CSS_td = " style='border: 1px solid #CCC;padding: 0 0.5em; text-align:center;'"
CSS_first = " style='border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; border-left: none; border-right: 1px solid #CCC'"
CSS_last = " style='border-top: 1px solid #CCC; border-bottom: 1px solid #CCC; border-left: 1px solid #CCC; border-right: none;'"
CSS_jlist = " style='border-collapse:collapse;line-width:1px;'"
CSS_warning = " style='line-height: 16px;color: red;margin-top: 10px; margin-bottom: 15px; margin-left: 20px; margin-right: 10px;'"
CSS_accent = " style='text-decoration:underline; font-weight:bold;'"
表格内容:
job_list = job_list & "<tr><td" & CSS_td & ">" & account & "</td>" & _
"<td" & CSS_td & ">" & location & "</td>" & _
"<td" & CSS_td & ">" & address & "</td>" & _
"<td" & CSS_td & ">" & work_order & "</td>" & _
"<td" & CSS_td & ">" & description & "</td>" & _
"<td" & CSS_td & ">" & service_date & "</td></tr>"
信息:
email_body = "<html><head></head>" & _
"<body><p" & CSS_p & ">" & Greeting() & _
"</p>" & _
"<p" & CSS_p & "> Our records indicate that we have not received signed paperwork for the " & _
"following jobs as of yet:</p>" & _
"<table" & CSS_table & ">" & _
"<th" & CSS_th & ">Account</th>" & _
"<th" & CSS_th & ">Store Number</th>" & _
"<th" & CSS_th & ">Address</th>" & _
"<th" & CSS_th & ">Work Order#</th>" & _
"<th" & CSS_th & ">Description</th>" & _
"<th" & CSS_th & ">Service Date</th>" & _
job_list & "</table>" & _
"<p" & CSS_p & ">Please remember to submit the work orders, your invoices and checklists (if applicable) for the jobs " & _
"referenced above." & _
"<p" & CSS_p & ">You may send the paperwork via:</p>" & _
"<ul><li>Fax to (000) 000 0000 or,</li>" & _
"<li>Email to: xx@xxxxxxxxx.com (please indicate your crew code in the email subject)</li></ul>" & _
"<p" & CSS_p & ">All work orders must be signed and stamped by the store manager on duty at the time of service. If the " & _
"stamp is not available, please ask the manager to write that on the work order (and checklists if applicable), as well as " & _
"initial the note. Submitting un-signed and un-stamped paperwork, that is not properly filled out, may result in your " & _
"invoices being rejected.</p>" & _
"<p" & CSS_p & ">Thank you for your cooperation.</p>" & _
HTMLSignature & "</body></html>"
OutlookEmail SendTo:=email, subject:=email_subject, Message:=email_body, send:=True