【发布时间】:2012-12-02 06:56:26
【问题描述】:
您好,我必须用 java 发送电子邮件。
以下内容已成功为我工作。
public class SendMail {
public static void main(String[] args) {
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("xxxx@gmail.com","xxxxx!1");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("krishnaveni.veeman@gmail.com"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse("mercy.krishnaveni@gmail.com"));
message.setSubject("Testing Subject");
message.setText("Dear Mail Crawler," +
"\n\n No spam to my email, please!");
Transport.send(message);
System.out.println("Done");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}
这里我提到了 gmail 用户名和密码。但是我必须在我的代码中不使用用户名和密码的情况下发送电子邮件。我该如何开发这个。请帮帮我。
【问题讨论】:
-
我现在要做的第一件事就是在这里发布后更改我的 gmail 密码!!为了获得更高的安全性,还请打开 2 因素身份验证。
-
是的,在 stackoverflow 上询问时,您应该始终混淆敏感数据(公司名称等)。
-
离题:你不应该给垃圾邮件发送者写邮件
标签: java authentication smtp sendmail