我已经创建了一个模块来联系我们。在这里,一个用户可以向管理员发送关于他的顾虑的邮件,并且管理员可以向该特定用户发送回复邮件。所以我创建了2个不同的邮件模板,但我不知道如何同时发送这两个模板。
现在我已经完成向用户发送回复电子邮件,但我还没有向管理员用户发送邮件。
我向用户发送回复邮件的代码:
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 :(得分:1)
您的sendMail实现应完全由外部化参数驱动,例如电子邮件地址,电子邮件地址,主题,电子邮件模板路径和带占位符属性的数据。意味着在这种方法中,所提到的参数都不会被初始化,声明或操纵。
可能这样你的sendMail就变成了一个完整的无状态服务,你可以调用它来发送各种不同参数的电子邮件