【发布时间】:2026-02-09 13:50:01
【问题描述】:
我正在尝试向用户发送电子邮件。我使用了 javax.mail.* 和 javax.mail.internet.* 包并成功发送了一封电子邮件,但问题是它为一个邮件 ID 发送了多封电子邮件。我怎样才能让它只发送一次?
我的代码:
public void sendEmail(){
System.out.println("called "+j+" time");
emailIDs.add(emailID);
to = emailID;
MimeMessage message = new MimeMessage(session1);
// Set From: header field of the header.
try {
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: header field
message.setSubject(notifyName[j]+" "+"Document Alert Mail!");
// Send the actual HTML message, as big as you like
message.setContent("<h1>document created on "+createdOn+" is coming to expire</h1>",
"text/html" );
// Send message
Transport.send(message);
System.out.println("Message Sent Successfully....");
}
catch(Exception e){
e.printStackTrace();
}
}
【问题讨论】:
-
问题不太可能出在
sendEmail方法这里。调用它的代码呢? -
到第二个@Tetrinity,添加调试日志语句以查看您的方法被调用的频率。
标签: java email jakarta-ee jakarta-mail