我们可以通过JavaMail API发送邮件(abc@reddifmail.com到另一个邮件地址)吗?

时间:2013-10-12 06:50:09

标签: android javamail

我正在使用JavaMail API,我可以将 abc@gmail.com 发送到 xyz@gmail.com

现在,我想要的是:

我想发送电子邮件从abc@rediffmail.com到xyz@mail.com等等。

外发邮件服务器:smtp.rediffmail.com

港口号码:25

o / p:javax.mail.AuthenticationExcepetion,

这是必要的改变或是否可能。

1 个答案:

答案 0 :(得分:0)

尝试使用此代码段更改SMTP服务器。 雅虎: 发送邮件服务器(SMTP):plus.smtp.mail.yahoo.com 使用SSL,端口:465,使用身份验证。

段:

    Properties props = new Properties();
    props.put("mail.smtp.user", myEmail);
    props.put("mail.smtp.host", smptServer);
    props.put("mail.smtp.port", port);
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.socketFactory.port", port);
    props.put("mail.smtp.socketFactory.class",
            "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.socketFactory.fallback", "false");

    SecurityManager security = System.getSecurityManager();

    try {
        Authenticator auth = new autentificadorSMTP();
        Session session = Session.getInstance(props, auth);
        // session.setDebug(true);

        MimeMessage msg = new MimeMessage(session);
        msg.setText(body);
        msg.setSubject(subject);
        msg.setFrom(new InternetAddress(myEmail));
        msg.addRecipient(Message.RecipientType.TO, new InternetAddress(
                toEmail));
        Transport.send(msg);
    } catch (Exception mex) {
        mex.printStackTrace();
    }

的Util:

    private class authSMTP extends javax.mail.Authenticator {
    public PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(myEmail, myPass);
    }
}

希望它有所帮助!