

{"id":312,"date":"2021-02-23T12:54:00","date_gmt":"2021-02-23T04:54:00","guid":{"rendered":"https:\/\/www.52dixiaowo.com\/java\/?p=312"},"modified":"2021-05-10T17:16:20","modified_gmt":"2021-05-10T09:16:20","slug":"java%e5%8f%91%e9%80%81%e9%82%ae%e4%bb%b6","status":"publish","type":"post","link":"https:\/\/www.52dixiaowo.com\/java\/post-312.html","title":{"rendered":"javax.mail"},"content":{"rendered":"\n<p>\u8fd9\u662fjava\u53d1\u9001\u90ae\u4ef6\u7684\u5de5\u5177\u7c7b<\/p>\n\n\n\n<h5>1.\u4e0b\u8f7dJar\u5305\uff1a\u70b9\u51fb<a data-type=\"URL\" data-id=\"https:\/\/pan.5252.online\/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7\/JavaJar\/mail\/\" rel=\"noreferrer noopener\" href=\"https:\/\/pan.5252.online\/%E5%BC%80%E5%8F%91%E5%B7%A5%E5%85%B7\/JavaJar\/mail\/\" target=\"_blank\">\u8fd9\u91cc<\/a>(javax.mail-1.5.3.jar)<\/h5>\n\n\n\n<p>\u4f7f\u7528maven\u65f6, \u5bfc\u5165\u5982\u4e0b\u5750\u6807<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>    &lt;dependency>\n      &lt;groupId>com.sun.mail&lt;\/groupId>\n      &lt;artifactId>javax.mail&lt;\/artifactId>\n      &lt;version>1.5.3&lt;\/version>\n    &lt;\/dependency><\/code><\/pre>\n\n\n\n<h5>2.\u8bbe\u7f6e\u90ae\u7bb1\uff0c\u5f00\u542fsmtp\u548cpop3\u670d\u52a1\uff0c\u7136\u540e\u62f7\u8d1d\u5982\u4e0b\u4ee3\u7801<\/h5>\n\n\n\n<p>\uff08\u4fee\u6539 \u53d1\u4ef6\u4eba\u8d26\u53f7\uff0c\u5ba2\u6237\u7aef\u6388\u6743\u7801\uff0c\u5f00\u542f465\u7aef\u53e3\uff0c\u586b\u5199\u6536\u4ef6\u4eba\u8d26\u53f7\uff0c\u8fdb\u884c\u6d4b\u8bd5\uff09<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import javax.mail.*;\nimport javax.mail.internet.InternetAddress;\nimport javax.mail.internet.MimeMessage;\nimport java.security.Security;\nimport java.util.Date;\nimport java.util.Properties;\n\n\/**\n * \u53d1\u90ae\u4ef6\u5de5\u5177\u7c7b jdk\u4e3a1.8\n *\/\npublic final class MailUtils {\n    private static final String USER = \"xxx@163.com\"; \/\/ \u53d1\u4ef6\u4eba\u79f0\u53f7\uff0c\u540c\u90ae\u7bb1\u5730\u5740\n    private static final String PASSWORD = \"XXXXX\"; \/\/ \u5ba2\u6237\u7aef\u6388\u6743\u7801\n    private static final String HOST = \"smtp.163.com\"; \/\/ \u9700\u8981\u5f00\u901apop3\/smtp\u670d\u52a1\n    \/**\n     *\n     * @param to \u6536\u4ef6\u4eba\u90ae\u7bb1\n     * @param text \u90ae\u4ef6\u6b63\u6587\n     * @param title \u6807\u9898\n     *\/\n    \/* \u53d1\u9001\u9a8c\u8bc1\u4fe1\u606f\u7684\u90ae\u4ef6 *\/\n    public static boolean sendMail(String to, String text, String title){\n        try {\n            Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());\n            final String SSL_FACTORY = \"javax.net.ssl.SSLSocketFactory\";\n            \/\/\u8bbe\u7f6e\u90ae\u4ef6\u4f1a\u8bdd\u53c2\u6570\n            Properties props = new Properties();\n            \/\/\u90ae\u7bb1\u7684\u53d1\u9001\u670d\u52a1\u5668\u5730\u5740\n            props.setProperty(\"mail.smtp.host\", HOST);\n            props.setProperty(\"mail.smtp.socketFactory.class\", SSL_FACTORY);\n            props.setProperty(\"mail.smtp.socketFactory.fallback\", \"false\");\n            \/\/\u90ae\u7bb1\u53d1\u9001\u670d\u52a1\u5668\u7aef\u53e3,\u8fd9\u91cc\u8bbe\u7f6e\u4e3a 465 \u7aef\u53e3\n            props.setProperty(\"mail.smtp.port\", \"465\");\n            props.setProperty(\"mail.smtp.socketFactory.port\", \"465\");\n            props.put(\"mail.smtp.auth\", \"true\");\n            props.put(\"mail.smtp.ssl.enable\", true);\n            props.put(\"mail.smtp.socketFactory.class\", \"javax.net.ssl.SSLSocketFactory\");\n            \/\/\u83b7\u53d6\u5230\u90ae\u7bb1\u4f1a\u8bdd,\u5229\u7528\u533f\u540d\u5185\u90e8\u7c7b\u7684\u65b9\u5f0f,\u5c06\u53d1\u9001\u8005\u90ae\u7bb1\u7528\u6237\u540d\u548c\u5bc6\u7801\u6388\u6743\u7ed9jvm\n            Session session = Session.getDefaultInstance(props, new Authenticator() {\n                protected PasswordAuthentication getPasswordAuthentication() {\n                    return new PasswordAuthentication(USER, PASSWORD);\n                }\n            });\n            \/\/\u901a\u8fc7\u4f1a\u8bdd,\u5f97\u5230\u4e00\u4e2a\u90ae\u4ef6,\u7528\u4e8e\u53d1\u9001\n            Message msg = new MimeMessage(session);\n            \/\/\u8bbe\u7f6e\u53d1\u4ef6\u4eba\n            msg.setFrom(new InternetAddress(USER));\n            \/\/\u8bbe\u7f6e\u6536\u4ef6\u4eba,to\u4e3a\u6536\u4ef6\u4eba,cc\u4e3a\u6284\u9001,bcc\u4e3a\u5bc6\u9001\n            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to, false));\n            msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(to, false));\n            msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(to, false));\n\n            \/\/ \u8bbe\u7f6e\u90ae\u4ef6\u6807\u9898\n            msg.setSubject(title);\n            \/\/\u8bbe\u7f6e\u53d1\u9001\u7684\u65e5\u671f\n            msg.setSentDate(new Date());\n            \/*\/\/\u8bbe\u7f6e\u90ae\u4ef6\u6d88\u606f\n            msg.setText(message);*\/\n            \/\/ \u8bbe\u7f6e\u90ae\u4ef6\u7684\u5185\u5bb9\u4f53\n            msg.setContent(text, \"text\/html;charset=UTF-8\");\n            \/\/\u8c03\u7528Transport\u7684send\u65b9\u6cd5\u53bb\u53d1\u9001\u90ae\u4ef6\n            Transport.send(msg);\n\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n        return false;\n    }\n    \/\/\u586b\u5199\u6536\u4ef6\u4eba\u5730\u5740\n    public static void main(String&#91;] args) throws Exception { \/\/ \u505a\u6d4b\u8bd5\u7528\n        MailUtils.sendMail(\"XXXX@qq.com\",\"\u6d4b\u8bd5\u90ae\u4ef6\uff0c\u65e0\u9700\u56de\u590d\",\"\u6d4b\u8bd5\");\n        System.out.println(\"\u6fc0\u6d3b\u90ae\u4ef6\u53d1\u9001\u6210\u529f\");\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u8fd9\u91cc\u4f7f\u7528465\u52a0\u5bc6\u7aef\u53e3\uff0c\u56e0\u4e3a\u9ed8\u8ba4\u768425\u7aef\u53e3\u53ef\u80fd\u4f1a\u88ab\u670d\u52a1\u5546\u5c01\u9501\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u662fjava\u53d1\u9001\u90ae\u4ef6\u7684\u5de5\u5177\u7c7b 1.\u4e0b\u8f7dJar\u5305\uff1a\u70b9\u51fb\u8fd9\u91cc(javax.mail-1.5.3.jar) \u4f7f\u7528ma&hellip; <a href=\"https:\/\/www.52dixiaowo.com\/java\/post-312.html\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb <span class=\"screen-reader-text\">javax.mail<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[19],"tags":[],"_links":{"self":[{"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/posts\/312"}],"collection":[{"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/comments?post=312"}],"version-history":[{"count":1,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/posts\/312\/revisions"}],"predecessor-version":[{"id":1336,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/posts\/312\/revisions\/1336"}],"wp:attachment":[{"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/media?parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/categories?post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.52dixiaowo.com\/java\/wp-json\/wp\/v2\/tags?post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}