0

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 毫无问题地向该地址发送电子邮件。

4

0 回答 0