2016-09-27 82 views
1

我已經創建了一個聯繫我們的模塊。在這裏,一個用戶可以發送關於他的擔心的郵件給管理員和管理員可以發送回覆郵件給該特定用戶。所以我創建了2個不同的郵件模板,但我不知道如何同時發送這兩個郵件模板。如何在Java中將兩封電子郵件發送到兩個不同的電子郵件地址?

現在我已經完成了向用戶發送回覆郵件,但是我還沒有發送郵件給管理員用戶。

我發送回覆郵件給用戶代碼:

package com.spring.test.service; 

import java.io.IOException; 
import java.util.Properties; 

import javax.mail.internet.InternetAddress; 

import org.json.JSONObject; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.mail.MailSender; 
import org.springframework.mail.SimpleMailMessage; 
import org.springframework.mail.javamail.JavaMailSenderImpl; 
import org.springframework.web.client.RestTemplate; 

public class MailMail { 

    private MailSender mailSender; 

    @Autowired 
    @Qualifier(value = "mailSender") 
    public void setMailSender(MailSender mailSender) { 
     this.mailSender = mailSender; 
    } 

    public void sendMail(String to, String subject, String msg) { 
     //creating message 

     System.out.println("mailsender == " + this.mailSender); 

     try { 
      String from = "emailFromAddress"; 

      JavaMailSenderImpl sender = new JavaMailSenderImpl(); 
      javax.mail.internet.MimeMessage mimeMessage = sender.createMimeMessage(); 
      org.springframework.mail.javamail.MimeMessageHelper helper = new org.springframework.mail.javamail.MimeMessageHelper(mimeMessage, false, "utf-8"); 
      mimeMessage.setContent(msg, "text/html"); 
      helper.setSubject(subject); 
      helper.setFrom(from); 
      helper.setTo(to); 

      sender.setHost("smtp.gmail.com"); 
      sender.setUsername("emailServerUserName"); 
      sender.setPassword("emailServerPassword"); 
      sender.setPort(587); 

      Properties props = new Properties(); 
      props.put("mail.smtp.auth",true); 
      props.put("mail.smtp.starttls.enable","true"); 

      sender.setJavaMailProperties(props); 
      sender.send(mimeMessage); 
     } catch(Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 

誰能告訴我如何將郵件發送到管理員的用戶也同時?

+0

發送各種電子郵件是您打算讓您的電子郵件處理異步和希望並行同時觸發電子郵件處理? – mhasan

+0

不,不是異步的,並且需要兩個不同的模板來並行觸發電子郵件處理。 –

回答

1

你的sendMail實現應該完全由外部參數驅動,比如電子郵件地址,郵件地址,主題,郵件模板路徑以及帶佔位符屬性的數據。意思是在這個方法中沒有提到的參數被初始化,聲明或操縱。

可能是你的sendmail成爲一個完整的無狀態的服務,你可以要求使用不同的參數

+0

是的,我的sendMail的實現應該完全由外部參數驅動,但我怎樣才能向用戶發送回覆郵件,同時又向管理員用戶發送另一個郵件模板?這裏兩次調用這個方法。 –

+0

我假設你提到的2個不同的事件會在你的代碼中有不同的入口點 – mhasan

+0

是的兩個不同的事件那裏,所以這裏sendMail方法通過兩個電子郵件模板調用兩次,但如何調用一次這種方法? –

相關問題