为什么21cn的smtp.21cn.com发送服务器不能发邮件呢?

网络科技 2008-08-31 11:01:26

最近用javamail写了些收发邮件的代码,大部分邮箱简单的发基本上是可以的了,如sina,sohu,qq,tom等,但21cn的好奇怪,可以收,但就是不能发,发时,也没出现什么
异常,但对方就是没收到.而我用foxmail却可以正常的发送.这说明,其smtp.21cn.com的服务是有开通的,端口25也是开放的,可为何java写的程序不行呢?foxmail(应该是用c++编的)却正常呢?是java存在缺陷吗?还是我代码有问题?后者的话,为何其它的邮箱却没正常呢?伤脑啊.哪位大虾有遇到这种问题呢?怎么解决?

补充:
我用的是这个包:import javax.mail.*,
据说:import org.apache.commons.mail.*,这个包也可以,但我没导入这个包,没试过,不知道有没这个问题?
...全文
83376 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络科技 2008-11-18
  • 打赏
  • 举报
回复
结帐算了,这个没答案的了,可能是免费邮箱的缺陷,只能建议用户用企业邮箱的了.
网络科技 2008-09-18
  • 打赏
  • 举报
回复
继续等待高手的出现.....
hzq1989 2008-09-18
  • 打赏
  • 举报
回复
ding
kangojian 2008-09-17
  • 打赏
  • 举报
回复
现在邮箱pop的业务基本上都的花钱了 javamail 在2005年以后注册的163
Google 雅虎 新浪 都不能用了 基本上不应该是你程序的问题
wmgpwb 2008-09-17
  • 打赏
  • 举报
回复
要不楼主自己在linux上自己建一个邮件服务器吧.postfix+dovecot
呵呵,我现在做的这个项目就是这两个东东.
我郁闷的问题是自己做的办公系统用javamail来解析mail.
最变态的是客户老拿outlook来说事...

精神上鼓励下楼主~
网络科技 2008-09-17
  • 打赏
  • 举报
回复

有点失望,这样子说吧,应该是21cn的邮箱服务器反垃圾邮件系统搞的鬼,用foxmail大部分是可以发的,但有时也会认当作垃圾邮件,发的时候,收到的在垃圾箱里.说白了,foxmail还是可以发的,所以,不是邮箱服务器的问题.应该是可以解决的.
163、126新申请的不能发,在foxmail中也不能发,这就没什么好说的,在foxmail中可以发,在javamail中不能发,那归根结底还是程序不稳壮的原因。除了foxmail,我发现其它的商业软件也没有这个问题,应该它们中有的也是用javamail开发的吧。所以从理论跟事实来看,是可以解决的。
可能在csdn见不到这方面的专家了,唉,再放些天吧,期待出现奇迹……

附:以下是我的一些思路,望能有些启发,提供更好的思路与方法

1、既然是反垃圾邮件系统的原因,那是不是把我们发的邮件内容格式等,都写规范了,就不会被系统认为在发垃圾邮件而被拒绝发送的呢
2、改写或重载javamail的核心类,修正其它缺陷(不过,这好像不是程序员的事,是sun公司的事,呵,有兴趣的朋友可以试试)
3、自已写个邮件服务器,来发邮件(治标,没治本啊,可能间接的解决发,但收不好办)
....
linpyi 2008-09-17
  • 打赏
  • 举报
回复
有可能不是你程序的问题,

我用07年注册的126的邮箱都不能发05年前的就可以发送,收都没有问题
网络科技 2008-09-14
  • 打赏
  • 举报
回复
对了,补充一下:
我用javamail另一种方法,使用下面这个包来做,
import org.apache.commons.mail.*,
也没有达到效果,出现一样的问题.
网络科技 2008-09-14
  • 打赏
  • 举报
回复
郁闷,这么些天了,高手还是没有出现啊,有点失望,看来只能作无满意结帖了?唉,失望,应该有这方面的专家吧?是不是分太少了啊,先加100分吧,哪位高手能解决21cn邮箱(tom邮箱也是)javamail不能发的问题,我单独再给他加分,也可以满足其它合理的要求,若不方便在此回复,可以发到我邮箱:xzy05@qq.com,能顺利解决的话,好处是少不了的啦.
注:foxmail或其它的软件都可以发的,没理由javamail不能发的,所以,从理由上说,是可以解决的.而不是一味的认为是邮箱服务器的问题.望有兴趣的朋友也可以挑战一下.
盼高手、大侠、专家出现.....
网络科技 2008-09-03
  • 打赏
  • 举报
回复
看来没有谁懂呀,补充一下吧,
我用session.setDebug(true)调试了一下邮箱服务器返回的信息,未尾发现了这句:
250 QUIT
DEBUG SMTP: EOF: [EOF]
问题就出在这了,如红色语句,原来根本就没发成功,自然就收不到了.我也调试
了一下可以发的,发现都没有出句这样的语句.于是我就好奇了:
既然其它的邮箱可以,那代码应该是正确的,而我测了一下21cn的smtp服务器和端口,也是开放的,
那为何却不行呢?更离奇的是,如果其它软件,如foxmail和outlook也不行,那可以理解,可它们偏
偏可以?那就不可理解了,除非是javamail的bug或缺陷了,真是这样的话,也只能等升级版的javamail了?
或者我去学其它的了?

kangojian 2008-09-02
  • 打赏
  • 举报
回复
现在邮箱pop的业务基本上都的花钱了
吴冬冬 2008-09-02
  • 打赏
  • 举报
回复
21cn的邮箱很不好用,我的企业邮箱用foxmail连21cn经常收不到邮件
wangyi123 2008-09-02
  • 打赏
  • 举报
回复
顶起来
网络科技 2008-09-01
  • 打赏
  • 举报
回复

如果是服务器的原因或者是javamail的缺陷,看来是没办法了,高手也没办法的,再放些天吧,
不过还是很感谢一楼朋友,虽然这个问题没解决,但我学了些新东西,哈
老紫竹 2008-08-31
  • 打赏
  • 举报
回复
你加上发送邮件认证的功能了吗?
http://code.java2000.net/
邮件部分有2个代码你参考一下
网络科技 2008-08-31
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 java2000_net 的回复:]
你加上发送邮件认证的功能了吗?
http://code.java2000.net/
邮件部分有2个代码你参考一下
[/Quote]

有认证了呀,我对照了你的代码,一样的啊,(附件发送那个还没试),也是21cn的,也提示发送成功了,但就是没收到.
你也用一个21cn的邮箱发送试试看吧,之前百度上也有人发映这个问题,只是不知道是不是普遍现象.有的说21cn的企业邮箱可以,不存在这个问题.

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧