JavaMail 1.4.3 отправка почты через exchange 2003 - PullRequest
0 голосов
/ 15 января 2011

Я получаю 550 5.7.1 Невозможно передать для someUser@gmail.com

try {Properties p = System.getProperties ();

        p.put("mail.smtp.host", "server IP");
        p.put("mail.smtp.port", "25");
        p.put("mail.debug", "true");
        Session s = Session.getDefaultInstance(p);

        Message msg = new MimeMessage(s);

        msg.setFrom(new InternetAddress(from));

        msg.setRecipient(Message.RecipientType.TO, new InternetAddress(to));

        msg.setSubject(subject);

        Multipart mp = new MimeMultipart();

        BodyPart bp = new MimeBodyPart();
        bp.setText(message);

        mp.addBodyPart(bp);

        msg.setContent(mp);

        Transport t = s.getTransport("smtp");
        t.send(msg);
        return 0;
    } catch (Exception e) {
        e.printStackTrace();
        return 1;
    }

Ответы [ 2 ]

1 голос
/ 18 января 2011

Вы должны сначала войти в свой обмен SMTP.

String host = "smtp.gmail.com;
String username = "user";
String password = "passwd";
Properties props = new Properties();
props.put("mail.smtps.auth", "true");
// ...
MimeMessage msg = new MimeMessage(session);
// set the message content here
Transport t = session.getTransport("smtps");
try {
t.connect(host, username, password);
t.sendMessage(msg, msg.getAllRecipients());
} finally {
t.close();
}

или

изменить настройки обмена, чтобы разрешить отправку без входа в систему

Разрешение серверов приложенийотключить Exchange Server 2007 http://msexchangeteam.com/archive/2006/12/28/432013.aspx

0 голосов
/ 15 января 2011

Ваш сервер обмена, вероятно, не позволяет ретранслировать IP-адрес, с которого вы отправляете его?Или может потребоваться аутентификация перед передачей.

...