gpt4 book ai didi

java - 电子邮件收到两次,但我只想要一次

转载 作者:行者123 更新时间:2023-12-01 13:11:59 24 4
gpt4 key购买 nike

这是我的代码。谁能告诉我为什么它向一个人发送两次电子邮件。
我只需发送一封邮件。我将在哪里更改以获得正确的结果?

public void dbbackup_notify(String email, String data, String subject) {
String toEmails = email;
Session session = Session.getInstance(props, newjavax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pass);
}
});
Message message = new MimeMessage(session);
try {
message.setFrom(new InternetAddress(userid));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(toEmails));
message.setSubject(subject);
message.setText(data);
message.setContent(data, "text/html");

transport = session.getTransport("smtp");
transport.connect(host, user, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("Sent Successfully: " + new Date());
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
System.out.println("Don't Send Successfully" + new Date());
}
}

最佳答案

显而易见的答案是因为你调用了它两次。你怎么知道你不是?

当您从程序中收到两条消息时,它们是否具有相同的 Message-ID?

如果您调用 session.setDebug(true),您是否看到消息被发送了两次?

顺便说一句,请注意 setContent 只是覆盖了 setText 的功能;你不需要两者。将消息声明为 MimeMessage 类型,然后将两个 set 调用替换为 message.setText(data, "utf-8", "html");

另请注意,您don't need the Authenticator因为您在连接调用中传递了用户名和密码。

关于java - 电子邮件收到两次,但我只想要一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22782026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com