Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp classic 使用ASP和CDOSYS以不同语言发送邮件_Asp Classic_Arabic_Cdo.message - Fatal编程技术网

Asp classic 使用ASP和CDOSYS以不同语言发送邮件

Asp classic 使用ASP和CDOSYS以不同语言发送邮件,asp-classic,arabic,cdo.message,Asp Classic,Arabic,Cdo.message,我想用阿拉伯文本作为主题行发送电子邮件 对于消息体,代码段将特殊字符正确地转换为阿拉伯语文本,但对于消息主题,代码段无法这样做 我想知道我错过了什么 Set objCDOSYS = Server.CreateObject("CDO.Message") Set objCDOConf = CreateObject("CDO.Configuration") Set objCDOFields = objCDOConf.Fields objCDOFields("htt

我想用阿拉伯文本作为主题行发送电子邮件

对于消息体,代码段将特殊字符正确地转换为阿拉伯语文本,但对于消息主题,代码段无法这样做

我想知道我错过了什么

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 设置objCDOSYS=Server.CreateObject(“CDO.Message”) 设置objCDOConf=CreateObject(“CDO.Configuration”) 设置objCDOFields=objCDOConf.Fields 对象字段(“http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 对象字段(“http://schemas.microsoft.com/cdo/configuration/smtpserver") = "127.0.0.1" objCDOFields.Update 设置objCDOSYS.Configuration=objCDOConf objCDOSYS.mimeformated=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.发送 设置objCDOFields=Nothing 设置objCDOConf=Nothing Set objCDOSYS=Nothing
您可能需要在主题前面使用“=?UTF-8?B?”和阿拉伯语base64编码字符串

objCDOSYS.Subject = "=?UTF-8?B?" + Base64Encode(Request.Form("frmSubject"))
Base64Encode函数可在以下位置找到-


注意:我自己也试过了。所以不是100%确定。

更改为UTF-8字符集值得一试:-

objCDOSYS.HTMLBodyPart.charset = "UTF-8"

我认为这将导致Jirapong尝试的那种编码方式,但CDOSYS将为您做到这一点。不幸的是,我知道这对电子邮件地址中的显示名称不起作用。

对我来说,这4项组合起作用:

session.codepage=65001
Response.Charset = "utf-8" 
objMessage.HTMLBodyPart.Charset = "utf-8"
objMessage.BodyPart.Charset = "utf-8"

谢谢你的回复,我检查过了,但它不工作。您可以在这里@Sandhurst尝试一下:代码末尾缺少一个
+“?=”
,但是还有一个更大的问题。我们不能只将unicode主题字符串传递给Base64Encode函数,它首先需要转换为UTF-8。我已经把你们告诉我的所有东西都放在这里了,但仍然不走运。