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
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Anbetracht falsch mit Ihrer Konfiguration oder javamail-Implementierung.
Nur E-mail-server abgelehnt Befehle aus, die Sie/Ihr Server/...
Es gibt viele Gründe, warum E-mail-server dies zu tun wäre, aber in den meisten Fällen, alle sind im Zusammenhang mit der Verhinderung von spam.
siehe entsprechende threads auf, SO dass über diese als wel, und Sie sind alle mit der E-mail-server-Konfiguration.
mehr siehe:
https://serverfault.com/questions/453638/plesk-postfix-smtp-550-5-7-1-command-rejected-for-one-external-sender
https://serverfault.com/questions/540159/remote-host-said-550-5-7-1-message-content-rejected
InformationsquelleAutor ctomc