2010-02-21 7 views
2

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; 
    } 
    } 
+1

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? –

+0

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

Répondre

2

Pour envoyer du courrier avec Java mail vous avez besoin d'un serveur SMTP valide et un compte dans ce serveur .

Je suppose que le serveur sur excha.testing.com est en train d'avaler tout ce que vous lui envoyez, sinon je ne vois pas pourquoi votre programme ne fonctionne pas.

Vive.

+0

Merci beaucoup. Y at-il un exemple de programme Java Mail que je peux essayer avec les mêmes détails de configuration. apprécierait si vous pouvez poster des liens. Ce programme a été écrit depuis longtemps. – Arav

+0

@arav: Voici un exemple de programme très basique qui utilise l'API JavaMail: http://www.vipan.com/htdocs/javamail.html –

+0

Merci beaucoup. Je vais essayer ce programme avec la même configuration et voir si ça marche – Arav