300分 網絡高手請進,用indy的smtp控件發送郵件(300分)

  • 主题发起人 主题发起人 jockyi
  • 开始时间 开始时间
J

jockyi

Unregistered / Unconfirmed
GUEST, unregistred user!
用indy的smtp控件通過smtp.21cn.com發送郵件時,收件人收不到郵件
而改用其它smtp服務器發送郵件時,收件人可以收到,但21cn.com的收件人
也收不到。
 
感覺是smtp服務器的問題﹗﹗要不自己下一個軟件(免費的有多﹐我就在用)﹐自己做一個
smtp服務器﹐再一試一下﹗﹗
 
TO HGOOD,
現在比較麻煩的是我們的企業郵箱都是使用的21cn的。
有100多家客人都在使用這個控件寫的程式,郵件發至
我公司。我們一封也收不到。慘!我也認為21cn的smtp
服務器可能有問題。但使用foxmail,outlook及其它的
控件都可以。就用Indy不行。
 
前段時間聽說21cn服務器有病毒(聽同事說)﹐也有可能21cn 會拒絕其它服務器上發來的
郵件,我想你還是建立自己的一個smtp服務器﹐那樣速度快﹐等于直達.
如: (你們公司發郵件)----->(21cn smtp服務器)------->(到達163的帳號)
如你有自己有smtp服務器就不同了
(你們公司smtp服務器------->(到達163的帳號)
中間少了一個環節﹐你說快不快呢?哈哈.不知道你們公司用什么做為客戶端的接收軟件呢?
foxmail or outlook? 我覺得foxmail比outlook 安全﹗我們公司全部用這個

以上屬個人觀點!不周之處見涼!!

 
自己做个SMTP服务吧,这样稳定,我们公司就是这样的,外面现在的SMTP都锁了,不能用了,
就算能用,效果也不好
 
我這里有一個免費的軟件,安裝上去就可以做smtp服務器,我用了一個多月﹐挺穩定的
不過最多只能發5M那么大的郵件﹗太大發不出去﹗想想現在的免費郵箱最大只能那么大
吧﹗哈哈﹐其它類型的暫不考慮!!要的話可以發一個給你!
hxy.zh@163.com
 
用直接DNS查询的方式发--也就是所谓的“特快专递”了。网上有例子。
 
To:jockyi
我已經發出去了﹗你查收一下﹗
 
试了一下,确实如此,关注[8D]
 
可能21CN的服务器做了限制,它服务器要检查发邮件的服务器的正确性, 以防止别人给它发
垃圾邮件 (YAHOO公司的邮件服务器就是有这样的设置的),21CN的SMTP服务器它要求检查用
户的,如果不是该服务器的用户,不能使用它的STMP服务器的。不知道你注意到这点没有。
 

to:hgood 收到,謝謝
我發郵件是用的21cn的帳號。
 
你有沒裝起來?(我發給你的東東)
 
呵呵,经过一番试验,终于找到问题了!
十分搞笑,不知道21cn跟Indy有什么仇,只要信头区的X-Library项的值是以“Indy”打头的就完了:)

解决办法有两种:
1.针对IdMessage.pas的第465行——
Values['X-Library'] := gsIdProductName + ' ' + gsIdVersion; {do not localize}
要么把它注释掉,要么把等号右边换成别的东东,或者就在右边开头加个空格(推荐)

2.针对IdGlobal.pas的第48行——
gsIdProductName = 'Indy'; { do not localize }
把'Indy'改成' Indy'、'indy'之类的就行了,不过这将影响到所有需要访问该常量的Indy程序,
未经详细证实,不知道会不会有什么副作用。

所以我建议还是干脆把X-Library那一行删掉,这东西没什么用处,感觉纯粹是Indy在做广告:)
 
謝謝上面所有幫忙的朋友。
 
咳,真是少见。5rain6sky-220兄厉害。
 
我也碰到了这样的问题,5rain6sky的方法好像不关用哟:((??
 
to duducat:
说一下你遇到的具体情况,用的哪个SMTP服务器、你看到的编码是什么样的、Indy的版本等等。
 
to 5rain6sky
我用了DELPHI自带的INDY和在网上下载的最新版本都存在这些问题的!!
另外我用的smtp.21cn.com
我最近在研究特快专递,昨天晚上收获不小!
最后,用iNDY里面IDpop3组件,收email时候,为什么SUBJECT部分是乱吗,
而FROM部分却可以正常显示汉字,这是为什么?昨天看了源代码,还没有解决
问题哟:(((请赐教!
 
可能的情况是From没有被编码,这样在中文环境中当然可以正常显示,你试试把IdMessage.pas
的344行(Delphi自带的版本)中的DecodeHeader去掉看看From的原始字符串就知道了。
如果你已经去掉了源码(IdHeaderCoder.pas)中DecodeHeader函数里对“ISO”字符集
的判断还出现这样的问题,那就把Subject的乱码完整地帖出来看看它是不是用到了什么特殊的字符集。
 
to 5rain6sky 还是不行呀,帮忙看看,在线等待中,
以下是subject乱码每一行为一个subject
=?gb2312?B?aWV0b29scyBvZiBkZWxwaGk=?=
=?gb2312?B?bmV0cmF5My4wMQ==?=
=?gb2312?B?bmV0cmF5My4wMSgyKQ==?=
=?GB2312?Q?Re: =B0=EF=B0=EF=BF=B4=BF=B4=D2=D4=CF=C2=B4=FA=C2=EB=A3=AC=D3=D0=CA=B2=C3=B4=B5=D8=B7=BD=B2=BB=D5=FD=C8=B7=A3=BF=BA=C3=CF=F3=D2=BB=D4=CB=D0=D0=BE=CD=CB=C0=BB=FA=C1=CB?=
 
后退
顶部