Asp classic ASP经典CDOSYS通过HTMLBody格式发送电子邮件

Asp classic ASP经典CDOSYS通过HTMLBody格式发送电子邮件,asp-classic,cdo.message,Asp Classic,Cdo.message,我在使用HTML正文格式的ASP Classic中的CDOSYS消息系统发送电子邮件时遇到问题。它似乎有一个字符限制,当发送电子邮件时,它会将邮件底部的信息截断。起初,我以为邮件是在整个电子邮件都可以写出来之前发送的,但经过一些故障排除和研究后,在使用HTMLBody时,CDOSys的邮件字符有某种限制。我的问题是,有没有办法超越角色限制或绕过限制?这只适用于HTMLBODY 编辑:“复制”标志对我没有帮助。这不是一个截断问题,而是一个HTMLBody限制的问题,该限制阻止长消息在消息中完全发送

我在使用HTML正文格式的ASP Classic中的CDOSYS消息系统发送电子邮件时遇到问题。它似乎有一个字符限制,当发送电子邮件时,它会将邮件底部的信息截断。起初,我以为邮件是在整个电子邮件都可以写出来之前发送的,但经过一些故障排除和研究后,在使用HTMLBody时,CDOSys的邮件字符有某种限制。我的问题是,有没有办法超越角色限制或绕过限制?这只适用于HTMLBODY

编辑:“复制”标志对我没有帮助。这不是一个截断问题,而是一个HTMLBody限制的问题,该限制阻止长消息在消息中完全发送。我检查了那篇文章,它不是我所看到的答案。这条线上的回答足以回答我的问题。谢谢大家

这是我的密码:

         Set myMail=CreateObject("CDO.Message")


                        HTML = HTML & "<html>"
                        HTML = HTML & "<body>"
                        HTML = HTML & "<font face='calibri'>"

                        HTML = HTML & "<img src='http://" & SupportTagURLWebPath & "/images/SkypeEmailHeader.png'>"
                        HTML = HTML & "<br><Br>"

                        HTML = HTML & "<font face='calibri'>"                   
                        HTML = HTML & "<b>To " & Request.Form("SkypeTemplateName") & ":</b>"
                        HTML = HTML & "<br><br>"

                        HTML = HTML & "Thank you for contacting the Bank of America Service Desk. We're committed to providing seamless support in the moments that matter."
                        HTML = HTML & "<br><br>"                            
                        HTML = HTML & "We heard your concerns with Skype for Business audio/video, and recommend using approved Skype for Business devices to resolve the issue."
                        HTML = HTML & "<br><br>"
                        HTML = HTML & "<h4><font color='red'>What do I need to do?</font></h4>"

                        HTML = HTML & "<div style='background-color: #FFF8DC;'>"
                        HTML = HTML & "1. Visit the <a href='http://u.go/pchk'>Skype for Business Peripheral Checker</a> & complete the form.<br>"
                        HTML = HTML & "<img src='http://" &SupportTagURLWebPath & "/images/SkypeEmailbody.png'><br>"
                        HTML = HTML & "4. Once approved, your new device(s) will be shipped to you. To get started, visit the <a href='http://u.go/tIxvB5'>Skype for Business page</a> and select <i>Setup your equipment</i> tab."                     
                        HTML = HTML & "</div>"
                        HTML = HTML & "<br><br>"

                        HTML = HTML & "<br>"
                        HTML = HTML & "If you still encounter Skype for Business audio/visual issues with your new device(s), please <a href='http://u.go/7I76vm'>submit a web ticket</a> and one of our expert Bank of America Service Desk employees will reach out to you."
                        HTML = HTML & "Thank you,"
                        HTML = HTML & "<br>"
                        HTML = HTML & "Premium Service Desk"            


                        HTML = HTML & "<br><Br>"
                        HTML = HTML & "<img src='http://" & SupportTagURLWebPath & "/images/SkypeEmailFooter.png'>"     

                        HTML = HTML & "</font>"                 
                        HTML = HTML & "</body>"
                        HTML = HTML & "</html>" 



     myMail.Subject= "Skype for Business audio/visual experience"
     myMail.From=EMAILADDRESS
     myMail.To=Request.Form("SkypeTemplateEmail")
     'mymail.CC= Request.Form("displayemail")
     myMail.BCC="psd.wmwhc@bao.com"
     myMail.ReplyTo="Do Not Reply"
     'myMail.TextBody="This is a message."
     myMail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
     'Name or IP of remote SMTP server
     myMail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="amta3dns.bo.com"
     'Server port
     myMail.Configuration.Fields.Item _
     ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 
    myMail.Configuration.Fields.Update


    'myMail.TextBody= Request.Form("genfeedback") 
    myMail.HTMLBody=HTML

    myMail.Send
     set myMail=nothing 
Set myMail=CreateObject(“CDO.Message”)
HTML=HTML&“
HTML=HTML&“
HTML=HTML&“
HTML=HTML&“
HTML=HTML&“

” HTML=HTML&“ HTML=HTML&“To”&Request.Form(“SkypTemplateName”)&: HTML=HTML&“

” HTML=HTML&“感谢您联系美国银行服务台。我们致力于在关键时刻提供无缝支持。” HTML=HTML&“

” HTML=HTML&“我们听到您对Skype for Business audio/video的担忧,建议您使用经批准的Skype for Business devices解决此问题。” HTML=HTML&“

” HTML=HTML&“我需要做什么?” HTML=HTML&“ HTML=HTML&“1.访问并填写表格。
” HTML=HTML&“
” HTML=HTML&“4.一旦批准,您的新设备将发送给您。要开始,请访问并选择“设置您的设备”选项卡 HTML=HTML&“ HTML=HTML&“

” HTML=HTML&“
” HTML=HTML&“如果您的新设备仍然遇到Skype的业务音频/视频问题,请联系我们的美国银行服务台专家员工。” HTML=HTML&“谢谢你,” HTML=HTML&“
” HTML=HTML&“高级服务台” HTML=HTML&“

” HTML=HTML&“ HTML=HTML&“ HTML=HTML&“ HTML=HTML&“ myMail.Subject=“Skype商务视听体验” myMail.From=电子邮件地址 myMail.To=Request.Form(“SkypTemplateEmail”) 'mymail.CC=Request.Form(“displayemail”) myMail.BCC=“psd。wmwhc@bao.com" myMail.ReplyTo=“不回复” 'myMail.TextBody=“这是一条消息。” myMail.Configuration.Fields.Item_ ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2 '远程SMTP服务器的名称或IP myMail.Configuration.Fields.Item_ ("http://schemas.microsoft.com/cdo/configuration/smtpserver“”=“amta3dns.bo.com” '服务器端口 myMail.Configuration.Fields.Item_ ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=25 myMail.Configuration.Fields.Update 'myMail.TextBody=Request.Form(“genfeedback”) myMail.HTMLBody=HTML 我的邮件,发送 设置myMail=nothing
我可以通过另一个在谷歌搜索的线程找到答案。如果你在每3-5行的电子邮件中放置下一行,它似乎会“重置”或在不更改电子邮件格式的情况下将数字限制循环回开头。我不确定这是否是正确的处理方式,但它似乎适用于我今天创建的许多消息,这些消息都有相当长的消息,否则在发送消息时会被切断。我希望这能帮助其他人解决这个问题

HTML = HTML & vbCrLf

这是一个线路长度问题。没有crlf,最大长度为998个字符。最好的办法是编写一个函数,将内容拆分为中间字符串,避免使用html标记。HTML文本(例如在段落中)忽略换行符

警察说

本标准对用户数量有两个限制 一行中的字符。每行字符不得超过 998个字符,且不应超过78个字符,不包括 CRLF

998字符的限制是由于许多实现中的限制 发送、接收或存储Internet消息格式消息的 一行不能处理超过998个字符。接收 实现可以很好地处理任意大的数量 为了稳健性,在一行中使用字符。然而,也有这样的情况 许多实现(符合传输要求) [RFC2821]的要求不接受包含更多信息的消息 超过1000个字符,包括每行的CR和LF,这很重要 对于不创建此类消息的实现

更保守的78个字符的建议是适应 显示这些内容的用户界面的许多实现 可能会截断或灾难性地包装显示的消息 每行超过78个字符,尽管 实现不符合本文的意图
Set myFSO=Server.CreateObject("Scripting.FileSystemObject")

' Read Email Template File

Set myFile=myFSO.OpenTextFile(Server.MapPath("..\msg\"+Request.Form("Template")+".html"), 1)
EmailBodyTemplate=""
Do While myFile.AtEndOfStream=False
  EmailBodyTemplate=EmailBodyTemplate&myFile.ReadLine
Loop
myFile.Close

Set myFile=Nothing
Set myFSO=Nothing


myMail.HTMLBody=EmailBodyTemplate