J'ai le programme de messagerie ci-dessous. Le problème est que le programme de messagerie s'exécute avec succès mais il ne m'envoie pas les emails. Les journaux indiquent qu'il a été envoyé avec succès. Je ne sais pas quel pourrait être le problème. Ai-je besoin de changer le programme Java?Java Mail programme ne fonctionne pas
J'ai les valeurs ci-dessous définies dans le fichier application.properties
et ces valeurs sont lus du programme et passé comme vecteur pour la fonction d'envoi
mail.smtp.host=excha.testing.com
mail.smtp.techEmail="[email protected]"
mail.smtp.toEmail="[email protected]"
[email protected]
mail.smtp.fromName=Testing test Systems
mailHandler.send(mailingAddress,ccEmailAddress,fromEmailAddress,fromEmailAlias,envName + "::" + " Process", exitMessage + " - " + message))
------------- ---------- mail envoyez le code de programme ci-dessous collé ---------
public synchronized boolean send(Vector eMailAddress, Vector ccEmailAddress, String
fromEmailAddress, String fromEmailAlias, String messageSubject, String messageText)
{
try
{
Message msg = new MimeMessage(session);
msg.setSubject(messageSubject);
msg.setText(messageText);
InternetAddress addresses[] = new InternetAddress[eMailAddress.size()];
for (int i = 0; i < eMailAddress.size(); i++) {
addresses[i] = new InternetAddress((String)(eMailAddress.elementAt(i)));
}
msg.setRecipients(Message.RecipientType.TO, addresses);
InternetAddress ccAddresses[] = new InternetAddress[ccEmailAddress.size()];
for (int i = 0; i < ccEmailAddress.size(); i++) {
ccAddresses[i] = new InternetAddress((String)(ccEmailAddress.elementAt(i)));
}
msg.setRecipients(Message.RecipientType.CC, ccAddresses);
if ((null != fromEmailAddress) && (null != fromEmailAlias))
{
msg.setFrom(new InternetAddress(fromEmailAddress, fromEmailAlias));
}
else if ((null != fromEmailAddress) && (null == fromEmailAlias))
{
msg.setFrom(new InternetAddress(fromEmailAddress));
}
else if ((null == fromEmailAddress) && (null == fromEmailAlias))
{
String smtpFromEmail
= (ApplicationProperties.getApplicationProperties()).getProperty(SMTP_FROM_EMAIL_KEY);
String smtpFromName
= (ApplicationProperties.getApplicationProperties()).getProperty(SMTP_FROM_NAME_KEY);
if (null == smtpFromEmail || "".equals(smtpFromEmail))
{
smtpFromEmail = SENDER_EMAIL;
}
if (null == smtpFromName || "".equals(smtpFromName))
{
smtpFromName = SENDER_NAME;
}
msg.setFrom(new InternetAddress(smtpFromEmail, smtpFromName));
}
Transport.send(msg);
cat.debug("Sent message to " + eMailAddress);
return true;
} catch (Exception e)
{
cat.error("Error sending email", e);
return false;
}
}
Comment avez-vous défini que cela ne fonctionne pas? Avez-vous vraiment accès aux emails du domaine 'test.com', ou est-ce juste un exemple? Aviez-vous vérifié le dossier de spam? Êtes-vous correctement configuré SPF pour votre domaine pour le serveur que vous envoyez? –
test.com juste un exemple. J'ai vérifié mon dossier outlook junkmail. Je n'ai pas de mails. Comment puis-je vérifier s'il est correctement configuré. Vous ne savez pas ce que l'on entend par SPF? – Arav