Java邮件程序不工作

Java邮件程序不工作,java,email,jakarta-mail,sendmail,Java,Email,Jakarta Mail,Sendmail,我有下面的邮件程序。问题是邮件程序运行成功,但它不会向我发送电子邮件。日志上说已经成功邮寄了。不确定可能是什么问题。我需要更改Java程序吗 我在应用程序.properties文件中设置了以下值,这些值从程序中读取,并作为向量传递给send函数 mail.smtp.host=excha.testing.com mail.smtp.techEmail="test1@test.com" mail.smtp.toEmail="test2@test.com" mail.smtp.fromEmail=te

我有下面的邮件程序。问题是邮件程序运行成功,但它不会向我发送电子邮件。日志上说已经成功邮寄了。不确定可能是什么问题。我需要更改Java程序吗

我在
应用程序.properties
文件中设置了以下值,这些值从程序中读取,并作为向量传递给send函数

mail.smtp.host=excha.testing.com
mail.smtp.techEmail="test1@test.com"
mail.smtp.toEmail="test2@test.com"
mail.smtp.fromEmail=test_systems@test.com
mail.smtp.fromName=Testing test Systems
mailHandler.send(mailingAddress,ccEmailAddress,fromEmailAddress,fromEmailAlias,envName + "::" + " Process", exitMessage + " - " + message))
-----------------------邮件发送程序代码粘贴在下面---------

public synchronized boolean send(向量eMailAddress、向量ccEmailAddress、字符串
fromEmailAddress、String fromEmailAlias、String messageSubject、String messageText)
{
尝试
{
Message msg=新的mimessage(会话);
msg.setSubject(messageSubject);
msg.setText(messageText);
InternetAddress addresses[]=新的InternetAddress[eMailAddress.size()];
对于(int i=0;i
要使用Java mail发送邮件,您需要一个有效的SMTP服务器和该服务器中的帐户

我假设excha.testing.com上的服务器正在吞咽您发送给它的任何内容,否则我看不出您的程序无法运行的原因


干杯。

您是如何定义它不起作用的?你真的可以访问
test.com
域上的电子邮件吗,还是仅仅是一个例子?你检查过垃圾邮件文件夹吗?您是否为从中发送的服务器的域正确配置了SPF?test.com只是一个示例。我检查了我的outlook junkmail文件夹。我没有邮件。如何检查它是否正确配置。不知道SPF是什么意思?非常感谢。是否有任何java Mail示例程序可以使用相同的配置细节进行尝试。如果您能发布任何链接,将不胜感激。这个程序是很久以前写的。@arav:这是一个使用JavaMail API的非常基本的示例程序:非常感谢。我将用相同的配置尝试这个程序,看看它是否正确;他在工作
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;
    }
  }