Visual FoxPro 桌面应用程序使用 CDO2000 库从
http://www.berezniker.com/content/pages/visual-foxpro/cdo-2000-class-sending-emails
收件人地址在域名中包含 öö 字符。域是
https://xn--pvckatusetd-0fba.ee/
当前代码页是 windows-1257(波罗的海窗口)
尝试使用 CDO2000 发送到这些地址电子邮件使用
EXTERNAL PROCEDURE cdo2000.prg
loMail = NEWOBJECT("Cdo2000", "Cdo2000.fxp")
WITH loMail
.cTo = 'test@pvckatusetööd.ee'
.cCharset = 'windows-'+tran(cpcurrent())
...
抛出错误
ERROR: :1429 # send # 213 # 0x0000020F 服务器拒绝了一个或多个收件人地址。服务器响应为:501 5.1.3 错误的收件人地址语法
我尝试使用 UTF-8
EXTERNAL PROCEDURE cdo2000.prg
loMail = NEWOBJECT("Cdo2000", "Cdo2000.fxp")
WITH loMail
SYS(3101 ,65001)
.cTo = strconv('test@pvckatusetööd.ee',9, 1257, 1 )
但错误的收件人地址错误仍然发生。我也试过
.cCharset = 'UTF-8'
并在 cdo2000.prg 添加了 compprop
WITH This
.ClearErrors()
.oCfg = CREATEOBJECT("CDO.Configuration")
// Added
COMPROP(.oCfg, "UTF8",1)
.oMsg = CREATEOBJECT("CDO.Message")
// Added
COMPROP(.oMsg, "UTF8",1)
.oMsg.Configuration = This.oCfg
ENDWITH
但问题仍然存在。我也尝试过 blat.dll 发送电子邮件,这也会引发错误。
如何从 FoxPro 向地址 test@pvkkatusetööd.com 发送电子邮件?
Mozilla Thunderbird 毫无问题地向该地址发送电子邮件。