2017-03-08 5 views
-1

Ich sende eine E-Mail mit dieser Java-Klasse von einem Linode-Server. Das Merkwürdige ist, dass ich die E-Mail in meinem Konto erhalten [email protected] aber nicht in [email protected]mail smtp host mit Java

  String from = "[email protected]"; 

      // Assuming you are sending email from localhost 
      String host = "localhost"; 

      // Get system properties 
      Properties properties = System.getProperties(); 

      // Setup mail server 
      properties.setProperty("mail.smtp.host", host); 

      // Get the default Session object. 
      Session session = Session.getDefaultInstance(properties); 

      try{ 
      // Create a default MimeMessage object. 
      MimeMessage message = new MimeMessage(session); 

      // Set From: header field of the header. 
      message.setFrom(new InternetAddress(from)); 

      // Set To: header field of the header. 
      message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); 

      // Set Subject: header field 
      message.setSubject("Alert from LINODE"); 

      // Now set the actual message 
      message.setText(msg); 

      // Send message 
      Transport.send(message); 

      System.out.println("Sent message successfully...."); 

      }catch (MessagingException mex) { 
      mex.printStackTrace(); 
      } 

ich es

public class MailClient { 

    protected static final Logger looger = LoggerFactory.getLogger(MailClient.class); 

    @Autowired 
    private JavaMailSender mailSender; 

    private MailContentBuilder mailContentBuilder; 

    @Autowired 
    public MailClient(JavaMailSender mailSender, MailContentBuilder mailContentBuilder) { 
     this.mailSender = mailSender; 
     this.mailContentBuilder = mailContentBuilder; 
    } 

    //TODO: in a properties 
    public void prepareAndSend(String recipient, String message) { 
     MimeMessagePreparator messagePreparator = mimeMessage -> { 
      MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage); 
      messageHelper.setFrom("[email protected]"); 
      messageHelper.setTo(recipient); 
      messageHelper.setSubject("Sample mail subject"); 
      String content = mailContentBuilder.build(message); 
      messageHelper.setText(content, true); 
     }; 
     try { 
      if (looger.isDebugEnabled()) { 
       looger.debug("sending email to " + recipient); 
      } 
      mailSender.send(messagePreparator); 
     } catch (MailException e) { 
      looger.error(e.getMessage()); 
     } 
    } 

} 

geändert habe, aber ich habe die gleiche Problem

+0

Warum ist das neugierig? – azurefrog

Antwort

0

Logisch, wenn Sie eine E-Mail nicht die andere als es ist nicht Ihre Absender-Software, die ein Problem hat. Dieses Problem steht in engem Zusammenhang mit Ihrem mail.smtp.host Server oder domainCompanynameA.com.

Seit mail.smtp.host kann etwas an gmail senden. Ich vermute, domainCompanynameA.com hat Ihre mail.smtp.host aus verschiedenen Gründen blockiert.

Eine Möglichkeit, dies zu lösen, ist Ihre mail.smtp.host unter domainCompanynameA.com in die weiße Liste aufzunehmen.

Sonst muss untersucht werden, wo das genaue Problem herkommt.

Ich würde sehr empfehlen, den dritten Teil email api Service zu verwenden, folglich werden sie vertraut und beibehalten.