java不要登录发送邮件noReply

最近在工作中遇到一个问题:

  客户需要让我们的系统给他们发邮件,但是不给我们提供用户密码。

  这样就导致一个问题,即,一般我们使用的都是smtp方式发邮件,发邮件的时候必须登录,虽然可以修改发件人的邮箱名字。但也还是需要登录呀。

  就这个问题,我展开了探寻。搜遍国内各大网站都没有示例。

  下面贴上我这里解决问题的代码:

  

 1 public static void send() {
 2           // Recipient's email ID needs to be mentioned.
 3           String to = "xxxxxju@xxx.com.cn";
 4 
 5           // Sender's email ID needs to be mentioned
 6           String from = "noreply@xxx.cn";
 7 
 8           // Assuming you are sending email from localhost
 9           String host = "xxx.xxx.36.3";
10 
11           // Get system properties
12           Properties properties = System.getProperties();
13 
14           // Setup mail server
15           properties.setProperty("mail.smtp.host", host);
16 
17           // Get the default Session object.
18           Session session = Session.getDefaultInstance(properties);
19 
20           try{
21          // Create a default MimeMessage object.
22          MimeMessage message = new MimeMessage(session);
23 
24          // Set From: header field of the header.
25          message.setFrom(new InternetAddress(from));
26 
27          // Set To: header field of the header.
28          message.addRecipient(Message.RecipientType.TO,
29                       new InternetAddress(to));
30 
31          // Set Subject: header field
32          message.setSubject("This is the Subject Line!");
33 
34          // Now set the actual message
35          message.setText("This is actual message");
36 
37          // Send message
38          Transport.send(message);
39          System.out.println("Sent message successfully....");
40           }catch (MessagingException mex) {
41          mex.printStackTrace();
42           }
43     }

  使用这种方式可以实现,不用登录即可发送匿名邮件,完美的解决了我的问题,希望对后来人有所帮助。

  谢谢~

posted @ 2018-01-01 13:43  大大大大举  阅读(1516)  评论(2编辑  收藏  举报