0

嗨,我必须用 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 用户名和密码。但是我必须在我的代码中不使用用户名和密码的情况下发送电子邮件。我该如何开发这个。请帮我。

4

1 回答 1

3

创建一个 mail.properties 文件并将用户名和密码放入该文件中。在代码中使用属性从该文件中检索数据。

此链接可用于加载 Properties 对象

http://www.dzone.com/snippets/loading-property-file

于 2012-12-14T09:30:31.033 回答