Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
Email CDO HELO剥离特殊字符,导致中继被拒绝_Email_Cdo.message - Fatal编程技术网

Email CDO HELO剥离特殊字符,导致中继被拒绝

Email CDO HELO剥离特殊字符,导致中继被拒绝,email,cdo.message,Email,Cdo.message,我有一个C++代码,它利用CDO根据触发事件发送电子邮件。我已经在下面包含了部分代码。问题在于,当应用程序在带有嵌入式破折号的服务器上运行时,如server-ABC-123,客户站点上的一些邮件服务器将拒绝该请求,并在中继拒绝时出现550错误。HELO数据包包含服务器名,其中带破折号,我认为这是问题的根本原因 是否有强制CDO包含FQDN的方法 这是SMTP跟踪信息 客户端=>服务器:HELO SMCABUTELC03\x0d\x0a 服务器=>客户端:250 int2.unimax.pvt你好

我有一个C++代码,它利用CDO根据触发事件发送电子邮件。我已经在下面包含了部分代码。问题在于,当应用程序在带有嵌入式破折号的服务器上运行时,如server-ABC-123,客户站点上的一些邮件服务器将拒绝该请求,并在中继拒绝时出现550错误。HELO数据包包含服务器名,其中带破折号,我认为这是问题的根本原因

是否有强制CDO包含FQDN的方法

这是SMTP跟踪信息

客户端=>服务器:HELO SMCABUTELC03\x0d\x0a 服务器=>客户端:250 int2.unimax.pvt你好sm-cabu-telc03.swna.wdpr.unimax.com[192.168.24.25],很高兴认识您\x0d\x0a 客户端=>服务器:邮件发件人:\x0d\x0a 服务器=>客户端:550 5.7.1。。。转播被拒绝。邮寄地址:corp.2n。admin@sm-cabu-telc03.swna.wdpr.unimax.com不以SMCABUTELC03\x0d\x0a结尾

CDO::IMessage* cdoMessage = NULL;
CDO::IConfiguration* cdoConfiguration = NULL;

cdoConfiguration->get_Fields(&cdoFields);

cdoFields->get_Item( _variant_t( cdoSendUsingMethod), &cdoField1);
cdoField1->put_Value( _variant_t( (long) CDO::cdoSendUsingPort));
cdoField1->Release();
cdoField1 = NULL;

cdoFields->get_Item( _variant_t( cdoSMTPServer), &cdoField2);
cdoField2->put_Value( _variant_t( emailHostName.gets()));
cdoField2->Release();
cdoField2 = NULL;

cdoFields->get_Item( _variant_t( cdoSMTPServerPort), &cdoField3);
cdoField3->put_Value( _variant_t( emailHostPort));
cdoField3->Release();
cdoField3 = NULL;

cdoFields->get_Item( _variant_t( cdoSMTPAuthenticate), &cdoField4);
if ( emailUserName.size() == 0 )
{
    cdoField4->put_Value( _variant_t( (long) CDO::cdoAnonymous));
}
else
{
    cdoField4->put_Value( _variant_t( (long) CDO::cdoBasic));
}
cdoField4->Release();
cdoField4 = NULL;