使用 JavaMailSender 向多人发送个性化邮件
Personalized mails to multiple people using JavaMailSender
我想使用 javamailsender 向多人发送带有个性化称呼的邮件。
To : Abc,xyz
Mail Content:
Hi Abc, ...
我可以向多人发送邮件,但无法找到替换可用于收件人姓名的占位符的方法。
我觉得你想要实现的是有一些矛盾。根据您的问题,让我们想象不同的人会收到一封电子邮件,其中 "To:" 列表显示多个收件人,例如至:Abc,xyz。然而,他们每个人都有显示自己名字的电子邮件内容......
结果如下图所示:
我认为这只能在客户端(接收方)实现,而无法通过服务器端(发送方)的 API 实现。
如果您真的想在发件人方面进行一些控制,那么您别无选择,只能根据您想要的收件人数量多次发送电子邮件。
以下示例供参考:
private JavaMailSender emailSender;
public void sendSimpleMessage() {
String[] multipleRecepients = new String[] {"ABC", "xyz"};
String subject = " This is Email subject";
String text = "Hi {0} ,\r\n Nice to reach you through email.";
MessageFormat mf = new MessageFormat(text);
for (int i = 0 ; i < multipleRecepients.length; i++) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(multipleRecepients[i]);
message.setSubject(subject);
message.setText(mf.format(new Object[] {multipleRecepients[i]}));
emailSender.send(message);
}
}
备注:
对于上面的示例代码,不要尝试将 multipleRecepients 数组放入 setTo(...) [即message.setTo(multipleRecepients) ]直接方法。否则,每个收件人都会收到一份不属于 him/her 的副本(称呼是另一个收件人的名字)。
我想使用 javamailsender 向多人发送带有个性化称呼的邮件。
To : Abc,xyz
Mail Content:
Hi Abc, ...
我可以向多人发送邮件,但无法找到替换可用于收件人姓名的占位符的方法。
我觉得你想要实现的是有一些矛盾。根据您的问题,让我们想象不同的人会收到一封电子邮件,其中 "To:" 列表显示多个收件人,例如至:Abc,xyz。然而,他们每个人都有显示自己名字的电子邮件内容......
结果如下图所示:
我认为这只能在客户端(接收方)实现,而无法通过服务器端(发送方)的 API 实现。
如果您真的想在发件人方面进行一些控制,那么您别无选择,只能根据您想要的收件人数量多次发送电子邮件。
以下示例供参考:
private JavaMailSender emailSender;
public void sendSimpleMessage() {
String[] multipleRecepients = new String[] {"ABC", "xyz"};
String subject = " This is Email subject";
String text = "Hi {0} ,\r\n Nice to reach you through email.";
MessageFormat mf = new MessageFormat(text);
for (int i = 0 ; i < multipleRecepients.length; i++) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(multipleRecepients[i]);
message.setSubject(subject);
message.setText(mf.format(new Object[] {multipleRecepients[i]}));
emailSender.send(message);
}
}
备注:
对于上面的示例代码,不要尝试将 multipleRecepients 数组放入 setTo(...) [即message.setTo(multipleRecepients) ]直接方法。否则,每个收件人都会收到一份不属于 him/her 的副本(称呼是另一个收件人的名字)。