我们在经典ASP中使用CDO对象在电子邮件正文中获得随机感叹号(!)标记.
我们没有得到前景这个感叹号.问题仅发生在Lotus Notes客户端上.我们使用IIS SMTP服务器发送电子邮件.
编辑
Set myMail= Server.CreateObject("CDO.Message")
myMail.Subject="Business and Company News on your Mobile Device"
myMail.From="no-reply@test.com"
myMail.To="some@email.com"
htmlbody = htmlbody (coming runtime)
myMail.BodyPart.ContentTransferEncoding = "quoted-printable"
myMail.HTMLBody = htmlbody
myMail.Send
Run Code Online (Sandbox Code Playgroud)
我认为客户端不使用SMTP.但他们肯定会使用LotusNotes.
我已经看了谷歌等,但找不到我想要的东西,所以要求我的SE成员帮忙.
我的表单包含在我的页面上,并且在整个站点中都是一致的.我想提交没有页面刷新的查询表格,这是经典ASP的正常路线.
我有一个单独的ASP页面,其中包含我的邮件脚本,并且工作正常并发送电子邮件,但是我想使用Ajax来调用该页面,发送电子邮件然后通知用户它已被发送.
任何帮助,将不胜感激.
我想发送一封使用阿拉伯语文本作为主题的电子邮件.
代码段将特殊字符正确转换为适用于邮件正文的阿拉伯文本,但对于邮件主题则无法执行此操作.
我想知道我错过了什么?
Set objCDOSYS = Server.CreateObject("CDO.Message")
Set objCDOConf = CreateObject("CDO.Configuration")
Set objCDOFields = objCDOConf.Fields
objCDOFields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOFields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1"
objCDOFields.Update
Set objCDOSYS.Configuration = objCDOConf
objCDOSYS.MimeFormatted=True
objCDOSYS.BodyPart.Charset = "Windows-1256"
objCDOSYS.From = Trim(Request.Form("frmSender"))
objCDOSYS.To = Trim(Request.Form("frmRecipient"))
objCDOSYS.Subject =Request.Form("frmSubject")
objCDOSYS.HTMLBody = Trim(Request.Form("frmMessage"))
objCDOSYS.HTMLBodyPart.charset = "Windows-1256"
objCDOSYS.Fields.update
objCDOSYS.Send
Set objCDOFields = Nothing
Set objCDOConf = Nothing
Set objCDOSYS = Nothing
我有一个asp页面,通过电子邮件使用CDO发送表单的详细信息.到目前为止,我已经通过与hmail服务器的明确连接使用smtp端口25完成了此操作.
我现在需要使用SSL连接.我创建了一个安全证书并设置了hmail服务器以使用端口465和ssl.
但是,出于某种原因,当我尝试发送表单时,我收到错误500并且未发送电子邮件.
我也试过端口587,但它也不起作用.
我使用的CDO代码如下:
If request.Form("submit") <> "" then
Set myMail=CreateObject("CDO.Message")
myMail.Subject="xxxxxxx"
myMail.From=Request.Form("email")
myMail.To= "xxxxxxxxxxx"
myMail.TextBody = "Name:"& Request.Form("name")& vbcrlf & vbcrlf & _
"Email:" & Request.Form("email") & vbcrlf & vbcrlf & _
"Telephone:" & Request.Form("telephone") & vbcrlf & vbcrlf & _
"Location:" & Request.Form("location") & vbcrlf & vbcrlf & _
"Other location:" & Request.Form("other_location") & vbcrlf & vbcrlf & _
"Comments:" & Request.Form("comments")
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") _
="127.0.0.1" …Run Code Online (Sandbox Code Playgroud) 我在IIS 7.5上使用HTMLBody的CDOSYS有问题
简单地说,这不起作用:
Set Mail = CreateObject("CDO.Message")
With Mail
.Subject = "My mail test"
.From = "me@localhost"
.To = "myrealmail@mydomain.com"
.HTMLBody = "My body message"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
.Configuration.Fields.Update
.Send
End With
Set Mail = Nothing
Run Code Online (Sandbox Code Playgroud)
并抛出一个misterious "CDO.Message.1错误'80040605’未知错误"在行
.HTMLBody = "My body message"
Run Code Online (Sandbox Code Playgroud)
如果我改变它没问题
.TextBody = "My body message"
Run Code Online (Sandbox Code Playgroud)
拜托,你有解决方案吗?
提前致谢
我在IIS 8.5和Windows 8.1中使用CDO在Classic ASP中发送电子邮件时出现问题,拉丁字符会出现问题,例如ñáéíóúü等.例如,如果我把ñ放在主题和/或身体中我得到Ã ±.
这些是我的代码:
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "email@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "the-pwd-123"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "utf-8"
'.BodyPart.Charset = "unicode-1-1-utf-8"
.To = "<email@gmail.com>"
.From = "<email2@gmail.com>"
.Subject = "Envio de contraseña"
.TextBody = "This email has a ñ to see how it looks when …Run Code Online (Sandbox Code Playgroud) 我写了很多发送电子邮件的应用程序,通常我创建一个SMTP客户端,使用用户名和密码进行身份验证,就是这样!我现在正在更新一些旧的经典ASP代码,他们发送了这样的电子邮件:
Set objMessage = Server.CreateObject("CDO.Message")
objMessage.To = strTo
objMessage.From = strFrom
objMessage.Bcc = strBcc
objMessage.Subject = strSubject
objMessage.TextBody = strBody
objMessage.Send
Set objMessage = Nothing
Run Code Online (Sandbox Code Playgroud)
我已经谷歌了,很明显CDO对象很久以前就被弃用了,
我的问题是:
以上代码是否真的能够发送电子邮件而无需创建某种类型的客户端进行身份验证?什么是使用c#4.5更新此代码的最佳方法?
cdo.message ×7
asp-classic ×6
ajax ×1
arabic ×1
asp.net ×1
c# ×1
email ×1
hmail-server ×1
iis-8.5 ×1
smtp ×1
ssl ×1
utf-8 ×1