java实现发送短信和邮箱
生活随笔
收集整理的這篇文章主要介紹了
java实现发送短信和邮箱
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
郵箱目前只測試過可以發送qq郵箱,手機驗證碼我們采用容聯云通訊
java發送郵箱
1、加入pom依賴
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version> </dependency> <dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version> </dependency>2、QQ郵箱–>郵箱設置–>賬戶–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服務 開啟POP3/SMTP服務,然后獲取16位授權碼
3、Java實現純文本郵件發送
import com.sun.mail.util.MailSSLSocketFactory;import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; import java.security.GeneralSecurityException; import java.util.Properties;public class SSMBIZ {// 發送郵箱驗證碼public void youx()throws MessagingException, GeneralSecurityException{//創建一個配置文件并保存Properties properties = new Properties();properties.setProperty("mail.host","smtp.qq.com");properties.setProperty("mail.transport.protocol","smtp");properties.setProperty("mail.smtp.auth","true");//QQ存在一個特性設置SSL加密MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);properties.put("mail.smtp.ssl.enable", "true");properties.put("mail.smtp.ssl.socketFactory", sf);//創建一個session對象Session session = Session.getDefaultInstance(properties, new Authenticator() {@Overrideprotected PasswordAuthentication getPasswordAuthentication() {//發件人郵件用戶名、授權碼return new PasswordAuthentication("123456@qq.com","16位授權碼");}});//開啟debug模式session.setDebug(true);//獲取連接對象Transport transport = session.getTransport();//連接服務器,發件人郵件用戶名、授權碼transport.connect("smtp.qq.com","123456@qq.com","16位授權碼");//創建郵件對象MimeMessage mimeMessage = new MimeMessage(session);//郵件發送人mimeMessage.setFrom(new InternetAddress("1235456@qq.com"));//郵件接收人mimeMessage.setRecipient(Message.RecipientType.TO,new InternetAddress("654321@qq.com"));//郵件標題mimeMessage.setSubject("java測試發送郵箱");//郵件內容mimeMessage.setContent("這是我寫的java發送郵箱代碼測試","text/html;charset=UTF-8");//發送郵件transport.sendMessage(mimeMessage,mimeMessage.getAllRecipients());//關閉連接transport.close();} }百度搜索容聯云通訊,注冊賬號,點擊左側號碼管理–>測試號碼,輸入你要發送的手機號碼,例如:現在要給123456789這個手機號發送短信,你就在測試號碼里輸入這個,每個賬號可以擁有三個測試號碼
java發送手機短信驗證碼
1、加入pom依賴
<dependency><groupId>com.cloopen</groupId><artifactId>java-sms-sdk</artifactId><version>1.0.3</version> </dependency>2、加入java代碼
import com.cloopen.rest.sdk.BodyType; import com.cloopen.rest.sdk.CCPRestSmsSDK;import java.util.HashMap; import java.util.Set;public class SSMBIZ {// 手機號發送驗證碼public void SDK(){//生產環境請求地址:app.cloopen.comString serverIp = "app.cloopen.com";//請求端口String serverPort = "8883";//主賬號,登陸云通訊網站后,可在控制臺首頁看到開發者主賬號ACCOUNT SID和主賬號令牌AUTH TOKENString accountSId = "accountSId";String accountToken = "accountToken";//請使用管理控制臺中已創建應用的APPIDString appId = "appId";CCPRestSmsSDK sdk = new CCPRestSmsSDK();sdk.init(serverIp, serverPort);sdk.setAccount(accountSId, accountToken);sdk.setAppId(appId);sdk.setBodyType(BodyType.Type_JSON);String to = "手機號";// 手機號String templateId= "1";// 短信模仿默認為1String[] datas = {"1234"};// 驗證碼String subAppend="1234"; //可選 擴展碼,四位數字 0~9999String reqId="fadfafas"; //可選 第三方自定義消息id,最大支持32位英文數字,同賬號下同一自然天內不允許重復HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas);//HashMap<String, Object> result = sdk.sendTemplateSMS(to,templateId,datas,subAppend,reqId);if("000000".equals(result.get("statusCode"))){//正常返回輸出data包體信息(map)HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");Set<String> keySet = data.keySet();for(String key:keySet){Object object = data.get(key);System.out.println(key +" = "+object);}}else{//異常返回輸出錯誤碼和錯誤信息System.out.println("錯誤碼=" + result.get("statusCode") +" 錯誤信息= "+result.get("statusMsg"));}} }總結
以上是生活随笔為你收集整理的java实现发送短信和邮箱的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: es文件服务器4.0,全新安卓5.0设计
- 下一篇: 详解Discuz插件开发之自定义页面嵌入