发送邮件SMTP发送大附件问题
用MFC写的代码,参照协议是ESMTP和MIME,向163发送超过50K的附件时,总失败。
现象:
1 可以发送小于50K的附件,服务器最后返回MAIL OK 250
2 发送超过50K的附件时,当发送完数据后,服务器返回 421 read data from client error
目前查到的可能与发送失败有关系的相关方向。
1 防火墙问题。关闭卡巴斯基后,原来 用于接收”421 read data from client error“的receive()函数运行会崩掉程序。
2 MTU问题。有资料说出口PC的MTU应小于出口网关的MTU,否则大数据包会丢掉。对此,措施如下:一,修改减小PC的MTU;二改善程序,当发大附件时,分包发送,使每包长度小于512。但是均无效。
可以排除的问题点:
1 base64编码没问题,我验算过了。
请各位高手赐教。
源头代码比较长,不好贴,各位高手可以说说自己发大附件时遇到的关键点问题。
我的QQ是55967122,EMAIL是yurjiang@163.com.我们联系时我把源代码发给你们,你们指点指点交流一下,好么?