haha662
2010-05-19 14:36 阅读 363
已采纳

javamail 发邮件的问题

老提示这样的错误:
javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25, response: -1
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1270)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
at javax.mail.Service.connect(Service.java:275)
at javax.mail.Service.connect(Service.java:156)
at SendMail.send(SendMail.java:60)
at SendMail.main(SendMail.java:72)
 我的smtp 是这样设置的:
public static final String mailAddress = "xxx@163.com";
public static final String mailCount = "xxx";
public static final String mailPassword = "*******";
public static final String mailServer = "smtp.163.com";

错误貌似是提示没有打开服务器,网上有些资料也说是,端口冲突,可我关闭所有的放火墙还是不行,急啊~~~~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

8条回答 默认 最新

  • 已采纳
    xiaolongfeixiang 拽拽的初行者 2010-05-19 16:19

    我以前的一个例子:
    [code="java"]public class Mail01 {

    public static void main(String[] agrs){
    
        Properties props = new Properties();
        props.setProperty("mail.smtp.host", "smtp.sohu.com");
        // 必须有这项设置
        props.setProperty("mail.smtp.auth", "true");
        props.setProperty("mail.debug", "true");
    
        // Session管理与stmp的链接信息
        Session session = Session.getDefaultInstance(props, new Authenticator(){
            protected PasswordAuthentication getPasswordAuthentication(){
                return new PasswordAuthentication("memiracle@sohu.com","XXXX");
            }
        });
    
        MimeMessage  msg = new MimeMessage(session);
        try {
            msg.setFrom(new InternetAddress("memiracle@sohu.com"));
    

    msg.addRecipients(Message.RecipientType.TO,"lianyumoshen@sina.com,YYYYY@163.com");
    msg.setSubject("测试--群发", "UTF-8");
    msg.setSentDate(new Date());
    msg.setText("你好,这是一封测试邮件。收到请勿回复", "UTF-8");

            // 使用静态的方法发送信息
            //Transport.send(msg,new InternetAddress[]{new InternetAddress("lianyumoshen@sina.com")});
            Transport.send(msg);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }
    

    }
    [/code]

    点赞 评论 复制链接分享
  • xiaolongfeixiang 拽拽的初行者 2010-05-19 14:44

    [color=blue][b]
    据说2006年之后申请的163邮箱,都不开通STMP的服务,即无法通过客户端来发送邮件。

    换用其他邮箱吧,我的当时做的,用163也不行。用sina、QQ等都可以发送。[/b][/color]

    点赞 评论 复制链接分享
  • xiaolongfeixiang 拽拽的初行者 2010-05-19 15:03

    [color=blue][b]sina和QQ的邮件需要在“设置”-- “账户”中,开启POP3和SMTP功能[/b][/color]

    点赞 评论 复制链接分享
  • xiaolongfeixiang 拽拽的初行者 2010-05-19 15:17

    [color=blue][b]Sina的邮箱:

    "邮箱设置"--"账户"--最下面"POP/SMTP设置" 选中“开启”[/b][/color]

    点赞 评论 复制链接分享
  • xiaolongfeixiang 拽拽的初行者 2010-05-19 15:33

    咱们2个的邮箱确实不一样。你用其他的邮箱试试,sohu的也可以

    点赞 评论 复制链接分享
  • yanglingbo yanglingbo 2010-05-19 16:02

    据说2006年之后申请的163邮箱,都不开通STMP的服务,即无法通过客户端来发送邮件。

    换用其他邮箱吧,我的当时做的,用163也不行。用sina、QQ等都可以发送。

    点赞 评论 复制链接分享
  • jiangguangxian jiangguangxian 2010-05-19 18:46

    你用了javaee5.0了吗?

    点赞 评论 复制链接分享
  • xiaolongfeixiang 拽拽的初行者 2010-05-20 09:18

    [color=blue]
    [b]
    我用的是JDK6,如果是JDK5的话,还需要另外的一个jar包activation.jar [/b][/color]

    点赞 评论 复制链接分享

相关推荐