2017-02-07 3 views
0

Я работал над jsp (spring, mvc model2), чтобы отправить почту в формате html с помощью jsp и javamail. Сообщение об объекте - это часть, которую читает почтовый приемник. Я использовал основные html-теги для украшения, но я бы хотел использовать CSS, чтобы я мог его проектировать больше. Есть ли способ использовать css при отправке почты с помощью javamail?использовать CSS при отправке почты в формате html с помощью jsp

Это контроллер отправителя почты.

@RequestMapping(value = "/mailSender", method = RequestMethod.GET) 
public String mailSender(@RequestParam(value = "mem_id", defaultValue = "") String mem_id, 
     @RequestParam(value = "encrypt_no", defaultValue = "") String encrypt_no, 
     @RequestParam(value = "occu_code", defaultValue = "0") int occu_code) throws AddressException, MessagingException { 

    String host = "smtp.gmail.com"; 
    final String username = "gmailid"; 
    final String password = "gmailpw"; 
    int port=465;  


    String recipient = mem_id; 

    String subject = "mail title"; 
    Object message = 
      "<h2><strong>HOTEL NOMAD</strong></h2><br>" 
      + "<h3>reset your pw<br><br>" 
      + "http://127.0.0.1:8080/team/pwReset?encrypt_no="+encrypt_no+"&mem_id="+mem_id; 


    Properties props = System.getProperties(); 
    props.put("mail.smtp.host", host); 
    props.put("mail.smtp.port", port); 
    props.put("mail.smtp.auth", "true"); 
    props.put("mail.smtp.ssl.enable", "true"); 
    props.put("mail.smtp.ssl.trust", host); 


    Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { 
     String un=username; 
     String pw=password; 
     protected javax.mail.PasswordAuthentication getPasswordAuthentication() { 
      return new javax.mail.PasswordAuthentication(un, pw); 
      } 
     }); 

    session.setDebug(true); //for debug 


    Message mimeMessage = new MimeMessage(session); 
    mimeMessage.setFrom(new InternetAddress("[email protected]")); 
    mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(recipient)); 
    mimeMessage.setSubject(subject); 
    mimeMessage.setText((String) message); 
    mimeMessage.setContent(message, "text/html; charset=utf-8"); 
    Transport.send(mimeMessage); } 

    System.out.println("an email has been sent"); 
    if(occu_code!=0) return "redirect:/pay_after?occu_code="+occu_code+"&mem_id="+occupation.getMem_id(); 
    return "redirect:/main"; 
} 
+0

Опубликовать сообщение об ошибке/журнал. –

+0

@ Al-KathiriKhalid Нет ошибки/журнала, я просто хотел бы знать, есть ли способ использовать css при отправке почты с помощью javamail. – camila

ответ

0

Есть два возможных способов сделать это:

  • Вы можете прикрепить файл CSS в качестве вложения и в HTML вы можете ссылку его с помощью «ИДС style.css»
  • Вы может включать в себя весь CSS сценарий в разделе тела HTML-файла

Вот улов так или иначе некоторые клиенты будут работать нормально, но е или некоторые из них привыкли, даже если вам удалось заставить ваши приложения работать, из-за соображений безопасности основные поставщики электронной почты блокируют/разделяют прикрепленный файл/содержимое css. Я предложил бы избежать использования файла css в стиле inline.

<h2><span style="background-color: #ff0000;">Writing HTML Mail</span></h2> 

Далее Ресурс:

Приветствия.