Comment puis-je définir ou de modifier le SMTP Message-ID avec javax.la poste?
Comment puis-je configurer le SMTP id de message lors de l'envoi de mails avec javax.mail
. Mon serveur de messagerie est de reporting quelque chose comme ceci:
1 <= me@domain.com H=mail (host) [192.168.1.4] P=esmtp S=142014
id=2043289758.9.1322829290422.JavaMail.thor@developer.local
2 => sombodey@else R=dnslookup T=remote_smtp H=mx00.t-online.de [194.25.134.8]
3 Completed
Je veux mettre le [email protected]
avant de l'envoyer. Est-ce possible? L'email qu'il a créé comme ceci:
Properties props = System.getProperties();
props.put("mail.smtp.host", "192.168.1.4");
Session session = Session.getDefaultInstance(props, null);
session.setDebug(false);
Message msg = createMsg();
Transport.send(msg);
Vous devez vous connecter pour publier un commentaire.
Je crois que cette section de la JavaMail FAQ répond à votre question:
Selon Oracle FAQ, lorsque vous envoyez le message ou appelez saveChanges, le Message-Id-tête défini par le updateMessageID() la méthode, qui remplace toute valeur que vous pourriez avoir déjà défini.
Pour définir votre propre valeur, vous devez créer une sous-classe de MimeMessage et de mettre en œuvre votre propre updateMessageID() fonction:
J'ai été en mesure d'utiliser cette technique pour supprimer ou éliminer la tête de Message-Id comme ceci:
Cela a été utile pour Mailgun, qui définit le Message-Id-mêmes si vous ne définissez pas un.
Vous pouvez également enregistrer le message change et de personnaliser l'ID de Message avant de l'envoyer.
Étapes:
MimeMessage message
et l'Ensemble de ses données.message.saveChanges();
message.setHeader("Message-ID", yourCustomMessageId);
C'est utile avec le Printemps
JavaMailSender
ou dans d'autres situations où il est difficile de remplacerMimeMessage
..send()
méthode.c'est le code complet pour la mise en œuvre de l'id personnalisé dans le message