java实现发送邮件的示例代码

2020-10-08 0 171

代码

import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import javax.mail.Session;
import javax.mail.MessagingException;
import javax.mail.Transport;

/**
 * @author BuNuo
 */
public class SendHtmlMail {
  /**
   * @param to 邮件接收者
   * @param subject 邮件主题
   * @param messageText 邮件内容,可以是html代码
   * @throws MessagingException
   * @throws java.io.UnsupportedEncodingException
   */
  public static void sendMessage(String to, String subject, String messageText)
      throws MessagingException, java.io.UnsupportedEncodingException {

    // Step 1: Configure the mail session
    String from = \"******\"; //发送邮件的账号
    String password = \"******\"; //Password
    String smtpHost = \"smtp.163.com\"; //SMTP服务器
    java.util.Properties props = new java.util.Properties();
    props.setProperty(\"mail.smtp.auth\", \"true\");// 指定是否需要SMTP验证
    props.setProperty(\"mail.smtp.host\", smtpHost);// 指定SMTP服务器
    props.put(\"mail.transport.protocol\", \"smtp\");
    Session mailSession = Session.getDefaultInstance(props);
    mailSession.setDebug(false);// 是否在控制台显示debug信息

    // Step 2: Construct the message
    System.out.println(\"Constructing message - from=\" + from + \" to=\" + to);
    InternetAddress fromAddress = new InternetAddress(from);
    InternetAddress toAddress = new InternetAddress(to);

    MimeMessage testMessage = new MimeMessage(mailSession);
    testMessage.setFrom(fromAddress);
    testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddress);
    testMessage.setSentDate(new java.util.Date());
    testMessage.setSubject(MimeUtility.encodeText(subject, \"gb2312\", \"B\"));

    testMessage.setContent(messageText, \"text/html;charset=gb2312\");
    System.out.println(\"Message constructed\");

    // Step 3: Now send the message
    Transport transport = mailSession.getTransport(\"smtp\");
    transport.connect(smtpHost, from, password);
    transport.sendMessage(testMessage, testMessage.getAllRecipients());
    transport.close();
    System.out.println(\"Message sent!\");
  }
}

测试代码

String to = \"173××××0190@163.com\";
    System.out.println(\"to=:\"+to);
    String subject = \"邮件测试\"; // subject javamail自动转码
    StringBuffer message = new StringBuffer();
    message.append(\"<table style=\'margin: 25px auto;\' border=\'0\' cellspacing=\'0\' cellpadding=\'0\' width=\'648\' align=\'center\'>\");
    message.append(\"<tbody>\");
    message.append(\"<tr><td style=\'color:#40AA53;\'><h1 style=\'margin-bottom:10px;\'>bjcodes</h1></td></tr>\");
    message.append(\"<tr>\");
    message.append(\"<td style=\'border-left: 1px solid #D1FFD1; padding: 20px 20px 0px; background: none repeat scroll 0% 0% #ffffff; border-top: 5px solid #40AA53; border-right: 1px solid #D1FFD1;\'>\");
    message.append(\"<p>HelloWorld, 你好 </p>\");
    message.append(\"</td>\");
    message.append(\"</tr>\");
    message.append(\"<tr>\");
    message.append(\"<td style=\'border-left: 1px solid #D1FFD1; padding: 10px 20px; background: none repeat scroll 0% 0% #ffffff; border-right: 1px solid #D1FFD1;\'>\");
    message.append(\"<p>您已经成功为<strong>bjcodes</strong>会员!</p>\");
    message.append(\"<p style=\'font-weight:bold\'>请点击以下链接:<br>\");
    message.append(\"<a href=\'http://www.bjcodes.com\'>http://www.bjcodes.com</a></p>\");
    message.append(\"</td>\");
    message.append(\"</tr>\");
    message.append(\"<tr>\");
    message.append(\"<td style=\'border-bottom: 1px solid #D1FFD1; border-left: 1px solid #D1FFD1; padding: 0px 20px 20px; background: none repeat scroll 0% 0% #ffffff; border-right: 1px solid #D1FFD1;\'>\");
    message.append(\"<p><img title=\'微信二维码\' src=\'http://bjcodes.com/images/code.jpg\' alt=\'\'></p>\");
    message.append(\"<p style=\'color:#060;font-size:9pt;\'>扫一扫,关注 bjcodes 微信公共号,更方便获知每日精彩推荐</p>\");
    message.append(\"<p style=\'color:#060;font-size:9pt;\'>想了解更多信息,请访问 <a href=\'http://www.bjcodes.com\' target=\'_blank\'>http://www.bjcodes.com</a></p>\");
    message.append(\"</td>\");
    message.append(\"</tr>\");
    message.append(\"</tbody>\");
    message.append(\"</table>\");
    message.append(\"<style type=\'text/css\'>\");
    message.append(\"body{font-size:14px;font-family:arial,verdana,sans-serif;line-height:1.666;padding:0;margin:0;overflow:auto;white-space:normal;word-wrap:break-word;min-height:100px}\");
    message.append(\"td, input, button, select, body{font-family:Helvetica, \'Microsoft Yahei\', verdana}\");
    message.append(\"pre {white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;width:95%}\");
    message.append(\"th,td{font-family:arial,verdana,sans-serif;line-height:1.666}\");
    message.append(\"img{ border:0}\");
    message.append(\"header,footer,section,aside,article,nav,hgroup,figure,figcaption{display:block}\");
    message.append(\"</style>\");
    message.append(\"<style id=\'ntes_link_color\' type=\'text/css\'>a,td a{color:#064977}</style>\");

    try {
     SendHtmlMail.sendMessage(to, subject,message.toString());
    } catch (javax.mail.MessagingException exc) {
     exc.printStackTrace();
    } catch (java.io.UnsupportedEncodingException exc) {
     exc.printStackTrace();
    }

测试结果

java实现发送邮件的示例代码

以上就是java实现发送邮件的示例代码的详细内容,更多关于JAVA 发送邮件的资料请关注自学编程网其它相关文章!

遇见资源网 JAVA java实现发送邮件的示例代码 http://www.ox520.com/19522.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务