So vermeiden Sie E-Mail-Fehler (550 5.7.1 Command rejected) mit Wildfly 8.1

Ich bin versucht, senden Sie eine E-Mail aufrufen von code.

@Stateless
public class MailBean {

    private static Logger LOGGER = Logger.getLogger(MailBean.class);
    private String EMAIL_REGEX = "^(([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}){1,25})+([;.](([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5}){1,25})+)*$";

    @Resource(name = "java:jboss/mail/Default")
    private Session mailSession;

    @Asynchronous
    public void send(String addresses, String topic, String textMessage) {

        try {
            MimeMessage message = new MimeMessage(mailSession);
            message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(addresses));
            message.setSubject(topic);
            message.setText(textMessage);

            Transport transport = mailSession.getTransport();
            transport.connect();
            transport.send(message);

        } catch (MessagingException ex) {
            LOGGER.error("Cannot send mail to " + addresses + ". Error: " + ex.getMessage(), ex);
        }
    }

    public boolean isValidEmailAddress(String email) {
        if (email == null)
            return false;
        else
            return email.matches(EMAIL_REGEX);
    }
}

Meine Wildfly 8.1 Server ist wie folgt konfiguriert:

<subsystem xmlns="urn:jboss:domain:mail:2.0">
    <mail-session name="mail-session-default" jndi-name="java:jboss/mail/Default">
                <smtp-server outbound-socket-binding-ref="mail-smtp" 
                ssl="false"
                username="[email protected]" 
                password="****"/>

    </mail-session>
</subsystem>

Den sockel outbound-wie diese:

<outbound-socket-binding name="mail-smtp">
    <remote-destination host="mail.doe.com" port="25"/>
<outbound-socket-binding>

Den gemeldeten Fehler ist

(EJB default - 2) L:38 Cannot send mail to [email protected]. Error: 550 5.7.1 Command rejected
: com.sun.mail.smtp.SMTPSendFailedException: 550 5.7.1 Command rejected

Wie in dem Beispiel, das ich versuchen, zu senden eine E-Mail von meine Konto [email protected] zu [email protected]. Nicht auf eine andere domain.

Auf Start, wildfly nicht Fehler mit dieser Konfiguration.

[org.jboss.as.mail.extension] (MSC service thread 1-5) L:136 JBAS015400: Bound mail session [java:jboss/mail/Default]

Keine Ahnung, warum das fehlschlägt? Im Allgemeinen Frage ich mich, warum Java-Mail-verhält sich nicht wie eine normale E-mail-client.

InformationsquelleAutor feder | 2014-11-03

Schreibe einen Kommentar