Конвертировать или разобрать Java Pojo в MimeMessage - PullRequest
0 голосов
/ 27 марта 2019

следующий код для справки.Преобразование Pojo в MimeMessage в Java. Я пытаюсь отправить электронную почту, используя почту Javax. Следующий код используется, это не преобразование InputStream в MimeMessage.Все атрибуты Mimemessage были нулевыми.

public class MailMessage
{
    private String fromName;
    private String fromAddress;
    private String subject;
    private String body;
    private boolean attachment;
    private String attachmentName;
    private String attachmentContent;
    private String attachmentType;
    private List<MailRecipient> mailRecipients;
}

public class sentEmail 
{
  public static void main(String args[])    
  {
     MailMessage MailMessage = new new MailMessage();
     List<MailRecipient> mailRecipients = new ArrayList<MailRecipient>();
     MailRecipient mailRecipient = new MailRecipient();
     MailRecipientType mailRecipientType = new MailRecipientType();
     byte[] bytes = null;           
     ByteArrayOutputStream bos = null;
     ObjectOutputStream oos = null;

     mailMessage.setFromName("Sender Name");         
     mailMessage.setFromAddress("xxx@gmail.com");                
     mailMessage.setSubject("Maile Subject");                
     mailMessage.setBody(rs.getString("Hi This is testing email"));

     mailRecipient.setName("Recipient_name");
     mailRecipient.setAddress("yyyy@gmail.com");

     mailRecipientType.setName("TO");

     mailRecipients.add(mailRecipient);
     mailMessage.setMailRecipients(mailRecipients);

     bos = new ByteArrayOutputStream();
     oos = new ObjectOutputStream(bos);
     oos.writeObject(mailMessage);
     oos.flush();
     bytes = bos.toByteArray();

     javax.mail.Session session =javax.mail.Session.getDefaultInstance(props);
     InputStream str = new ByteArrayInputStream(bytes);
     Transport transport = session.getTransport();
     MimeMessage msg = new MimeMessage(session, str);

      transport.connect("url", "userName",  "Password");



      transport.sendMessage(msg, msg.getAllRecipients());
}

Я использую следующий код.

1 Ответ

0 голосов
/ 27 марта 2019

изменить

MailMessage MailMessage = new new MailMessage();

на

MailMessage mailMessage = new new MailMessage(); // object name start with small m because you are using it onward.

почему бы вам напрямую не установить параметры в MimeMessage?как

 MimeMessage message= new MimeMessage(session);
    message.setFrom("Sender Name");
    message.setFrom("xxx@gmail.com");
    message.setSubject("Maile Subject");
    message.setContent(rs.getString("Hi This is testing email"));
    //Rest of your code

   // and send
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...