邮箱目前只测试过可以发送qq邮箱,手机验证码我们采用容联云通讯
java发送邮箱
1、加入pom依赖
<code style="margin-left:0"><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></code>
2、QQ邮箱–>邮箱设置–>账户–>POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启POP3/SMTP服务,然后获取16位授权码
3、Java实现纯文本邮件发送
<code style="margin-left:0">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() { @Override protected PasswordAuthentication getPasswordAuthentication() { //发件人邮件用户名、授权码 return new PasswordAuthentication("123456@qq.com","16位授权码"); } }); //开启debug模式 session.setDebug(true); //获取连接对象 Transport transport = session.getTransport(); //连接<a href="https://www.mhzhuji.com/kwck/txcloud" class="lar_link lar_link_outgoing" data-linkid="205" data-postid="951" title="腾讯云" rel="nofollow" target="_blank" >服务器</a>,发件人邮件用户名、授权码 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(); } }</code>
百度搜索容联云通讯,注册账号,点击左侧号码管理–>测试号码,输入你要发送的手机号码,例如:现在要给123456789这个手机号发送短信,你就在测试号码里输入这个,每个账号可以拥有三个测试号码
java发送手机短信验证码
1、加入pom依赖
<code style="margin-left:0"><dependency> <groupId>com.cloopen</groupId> <artifactId>java-sms-sdk</artifactId> <version>1.0.3</version> </dependency></code>
2、加入java代码
<code style="margin-left:0">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.com String serverIp = "app.cloopen.com"; //请求端口 String serverPort = "8883"; //主账号,登陆云通讯网站后,可在控制台首页看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN String accountSId = "accountSId"; String accountToken = "accountToken"; //请使用管理控制台中已创建应用的APPID String 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";// 短信模仿默认为1 String[] datas = { "1234"};// 验证码 String subAppend="1234"; //可选 扩展码,四位数字 0~9999 String 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")); } } }</code>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182306.html原文链接:https://javaforall.cn
未经允许不得转载:木盒主机 » java实现邮件发送_显示对方是qq邮箱发短信