java郵件發(fā)送簡(jiǎn)單實(shí)現(xiàn)代碼
本文實(shí)例為大家分享了java郵件發(fā)送的具體代碼,供大家參考,具體內(nèi)容如下
我用的是maven項(xiàng)目,前臺(tái)頁(yè)碼不多說,自己傳郵箱地址進(jìn)來就行。
只需要一個(gè)類實(shí)現(xiàn),直接復(fù)制就可以
package com.mail; import java.util.Properties; import javax.mail.Address; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class MySendMail { /** * @param ss * @throws Exception */ /* * 你只需要往sendMessage(String email)傳入的要發(fā)送的郵箱對(duì)象地址,再改下方法里的發(fā)送人信息就可以了 * 本文發(fā)件郵箱標(biāo)頭為“我們是銀行” */ public void sendMessage(String email) throws Exception { Properties props = new Properties(); // 開啟debug調(diào)試 props.setProperty("mail.debug", "true"); // 發(fā)送服務(wù)器需要身份驗(yàn)證 props.setProperty("mail.smtp.auth", "true"); // 設(shè)置郵件服務(wù)器主機(jī)名 props.setProperty("mail.host", "smtp.qq.com"); // 發(fā)送郵件協(xié)議名稱 props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.setProperty("mail.smtp.port", "465"); props.setProperty("mail.smtp.socketFactory.port", "465"); // 設(shè)置環(huán)境信息 Session session = Session.getInstance(props); // 創(chuàng)建郵件對(duì)象 Message msg = new MimeMessage(session); msg.setSubject("我們是銀行"); // 設(shè)置郵件內(nèi)容 msg.setText("******這是一封驗(yàn)證郵箱的郵件******\n 如果您有投資的意愿,請(qǐng)回復(fù)郵件,我們會(huì)有業(yè)務(wù)員跟您聯(lián)系!"); // 設(shè)置發(fā)件人,并設(shè)置標(biāo)頭 msg.setFrom(new InternetAddress("*****@qq.com", "我們是銀行")); // 獲得鏈接 Transport transport = session.getTransport(); // 連接郵件服務(wù)器,這里設(shè)置發(fā)件人的郵箱和密碼。如果是163的郵箱就把"smtp.qq.com"改成"smtp.163.com" //其他的同理,不然連接不到郵件服務(wù)器 transport .connect("smtp.qq.com", "***@qq.com", "*****密碼*******"); // 發(fā)送郵件 transport .sendMessage(msg, new Address[] { new InternetAddress(email) }); // 關(guān)閉連接 transport.close(); } }
注意導(dǎo)的包,是javax.mail的。建議直接復(fù)制就可以。
直接運(yùn)行,去查看你發(fā)送的郵箱是否收到就可以了。
可能會(huì)出現(xiàn)這個(gè)異常:
javax.mail.NoSuchProviderException: Unable to locate provider for protocol: smtp
這是由于jar包沖突造成的,如果你也是maven,則只要添加下面代碼就行,在pom.xml中進(jìn)行添加一下代碼。
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.1</version> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.0.2</version> </dependency>
如果還是不能解決,再在pom.xml中加入如下代碼
<exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-javamail_1.4_spec</artifactId> </exclusion> <exclusion> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-activation_1.1_spec</artifactId> </exclusion>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java郵件發(fā)送程序(可以同時(shí)發(fā)給多個(gè)地址、可以帶附件)
- Java HtmlEmail 郵件發(fā)送的簡(jiǎn)單實(shí)現(xiàn)代碼
- 基于JavaMail的Java實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送功能
- Java實(shí)現(xiàn)帶附件的郵件發(fā)送功能
- JavaWeb實(shí)現(xiàn)郵件發(fā)送接收功能
- Java實(shí)現(xiàn)郵件發(fā)送功能
- Java實(shí)現(xiàn)郵件發(fā)送遇到的問題
- java郵件發(fā)送的實(shí)現(xiàn)
- JavaMail實(shí)現(xiàn)郵件發(fā)送的方法
- Java實(shí)現(xiàn)簡(jiǎn)單郵件發(fā)送功能
相關(guān)文章
MyBatis?Generator?ORM層面的代碼自動(dòng)生成器(推薦)
Mybatis?Generator是一個(gè)專門為?MyBatis和?ibatis框架使用者提供的代碼生成器,也可以快速的根據(jù)數(shù)據(jù)表生成對(duì)應(yīng)的pojo類、Mapper接口、Mapper文件,甚至生成QBC風(fēng)格的查詢對(duì)象,這篇文章主要介紹了MyBatis?Generator?ORM層面的代碼自動(dòng)生成器,需要的朋友可以參考下2023-01-01Spring中Bean創(chuàng)建完后打印語(yǔ)句的兩種方法
這篇文章主要介紹了Spring中Bean創(chuàng)建完后打印語(yǔ)句的兩種方法,一個(gè)是實(shí)現(xiàn)InitializingBean接口,另一個(gè)使用@Bean注解和initMethod屬性,通過代碼示例介紹的非常詳細(xì),感興趣的小伙伴可以參考閱讀2023-07-07java隨機(jī)生成一個(gè)名字和對(duì)應(yīng)拼音的方法
這篇文章主要介紹了java隨機(jī)生成一個(gè)名字和對(duì)應(yīng)拼音的方法,涉及java針對(duì)數(shù)組及隨機(jī)數(shù)操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07java遞歸菜單樹轉(zhuǎn)換成pojo對(duì)象
這篇文章介紹了java遞歸菜單樹轉(zhuǎn)換成pojo對(duì)象的具體實(shí)現(xiàn),有需要的朋友可以參考一下2013-08-08SpringBoot實(shí)現(xiàn)動(dòng)態(tài)多線程并發(fā)定時(shí)任務(wù)
這篇文章主要為大家詳細(xì)介紹了SpringBoot實(shí)現(xiàn)動(dòng)態(tài)多線程并發(fā)定時(shí)任務(wù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05