如何在Java中将两封电子邮件发送到两个不同的电子邮件地址?

如何在Java中将两封电子邮件发送到两个不同的电子邮件地址?

问题描述:

我已经创建了一个联系我们的模块。在这里,一个用户可以发送关于他的担心的邮件给管理员和管理员可以发送回复邮件给该特定用户。所以我创建了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

不,不是异步的,并且需要两个不同的模板来并行触发电子邮件处理。 –

你的sendMail实现应该完全由外部参数驱动,比如电子邮件地址,邮件地址,主题,邮件模板路径以及带占位符属性的数据。意思是在这个方法中没有提到的参数被初始化,声明或操纵。

可能是你的sendmail成为一个完整的无状态的服务,你可以要求使用不同的参数

+0

是的,我的sendMail的实现应该完全由外部参数驱动,但我怎样才能向用户发送回复邮件,同时又向管理员用户发送另一个邮件模板?这里两次调用这个方法。 –

+0

我假设你提到的2个不同的事件会在你的代码中有不同的入口点 – mhasan

+0

是的两个不同的事件那里,所以这里sendMail方法通过两个电子邮件模板调用两次,但如何调用一次这种方法? –