java第三方,邮件,短信功能
来源:互联网 发布:第二梦软件 编辑:程序博客网 时间:2024/06/01 07:22
根据实际情况,会用到根据第三方为我们提供邮件,短信功能。代码如下:
第三方邮箱地址网址:http://sendcloud.sohu.com/
(1)邮箱
package com.chengjun.test;
import java.io.File;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.BodyPart;
import javax.mail.Message.RecipientType;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import com.sun.mail.smtp.SMTPTransport;
public class SendEmail {
private static final String SENDCLOUD_SMTP_HOST = "smtp.sendcloud.net";private static final int SENDCLOUD_SMTP_PORT = 25;private static String getMessage(String reply) { String[] arr = reply.split("#"); String messageId = null; if (arr[0].equalsIgnoreCase("250 ")) { messageId = arr[1]; } return messageId;}public static void main(String[] args) throws Exception { // 配置javamail Properties props = System.getProperties(); props.setProperty("mail.transport.protocol", "smtp"); props.put("mail.smtp.host", SENDCLOUD_SMTP_HOST); props.put("mail.smtp.port", SENDCLOUD_SMTP_PORT); props.setProperty("mail.smtp.auth", "true"); props.put("mail.smtp.connectiontimeout", 180); props.put("mail.smtp.timeout", 600); props.setProperty("mail.mime.encodefilename", "true"); // 使用api_user和api_key进行验证 final String apiUser = "chengjun202_test_M2V5UR"; final String apiKey = "ebLQ1y9W4XIVDNT7"; Session mailSession = Session.getInstance(props, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(apiUser, apiKey); } }); SMTPTransport transport = (SMTPTransport) mailSession.getTransport("smtp"); MimeMessage message = new MimeMessage(mailSession); // 发信人 message.setFrom(new InternetAddress("from@sendcloud.org", "发件人名称", "UTF-8")); // 收件人地址 message.addRecipient(RecipientType.TO, new InternetAddress("收件人地址")); // 邮件主题 message.setSubject("邮件主题", "UTF-8"); Multipart multipart = new MimeMultipart("alternative"); // 添加html形式的邮件正文 //<html><head></head><body>" + "<p>欢迎使用<a href='http://sendcloud.sohu.com'>SendCloud!</a></p>" + "</body></html>可以任意修改,根据html基本原则; String html = "<html><head></head><body>" + "<p>欢迎使用<a href='http://sendcloud.sohu.com'>SendCloud!</a></p>" + "</body></html> "; BodyPart contentPart = new MimeBodyPart(); contentPart.setHeader("Content-Type", "text/html;charset=UTF-8"); contentPart.setHeader("Content-Transfer-Encoding", "base64"); contentPart.setContent(html, "text/html;charset=UTF-8"); multipart.addBodyPart(contentPart); // 添加附件 ( smtp 方式没法使用文件流 ) File file = new File("E:/server.xml"); BodyPart attachmentBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(file); attachmentBodyPart.setDataHandler(new DataHandler(source)); attachmentBodyPart.setFileName(MimeUtility.encodeWord(file.getName())); multipart.addBodyPart(attachmentBodyPart); message.setContent(multipart); // 连接sendcloud服务器,发送邮件 transport.connect(); transport.sendMessage(message, message.getRecipients(RecipientType.TO)); String messageId = getMessage(transport.getLastServerResponse()); String emailId = messageId + "0$" + "收件人地址"; System.out.println("messageId:" + messageId); System.out.println("emailId:" + emailId); transport.close();}
}
需要用到的jar包;
![这里写代码片](http://img.blog.csdn.net/20170421172830045?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMzUzMzM4NDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
(2)短信
package com.chengjun.test;
/**
*短信
*/
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.NameValuePair;
import org.apache.commons.httpclient.methods.PostMethod;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class SendMessage {
private static String Url = “http://106.ihuyi.cn/webservice/sms.php?method=Submit“;
public static void main(String[] args) { HttpClient client = new HttpClient(); PostMethod method = new PostMethod(Url); client.getParams().setContentCharset("UTF-8"); method.setRequestHeader("ContentType", "application/x-www-form-urlencoded;charset=UTF-8"); int mobile_code = (int) ((Math.random() * 9 + 1) * 100000); String content = new String("您的验证码是:" + mobile_code + "。请不要把验证码泄露给其他人。"); NameValuePair[] data = {// 提交短信 new NameValuePair("account", "用户名"), // 查看用户名请登录用户中心->验证码、通知短信->帐户及签名设置->APIID new NameValuePair("password", "密码"), // 查看密码请登录用户中心->验证码、通知短信->帐户及签名设置->APIKEY new NameValuePair("mobile", "手机号码"), new NameValuePair("content", content), }; method.setRequestBody(data); try { client.executeMethod(method); String SubmitResult = method.getResponseBodyAsString(); Document doc = DocumentHelper.parseText(SubmitResult); Element root = doc.getRootElement(); String code = root.elementText("code"); String msg = root.elementText("msg"); String smsid = root.elementText("smsid"); System.out.println(code); System.out.println(msg); System.out.println(smsid); if ("2".equals(code)) { System.out.println("短信提交成功"); } } catch (Exception e) { e.printStackTrace(); }}
}
- java第三方,邮件,短信功能
- 第三方邮件、短信服务
- Java 利用第三方平台实现发送短信功能
- JAVA利用第三方平台发送短信
- java第三方获取短信验证码
- iOS-使用第三方实现短信验证码功能
- 集成Mob第三方的短信验证码功能
- 第三方短信验证
- qq、短信第三方
- 第三方短信验证
- Cognos启用第三方邮件服务代发功能
- JAVA利用第三方平台发送短信验证码
- JAVA利用第三方平台发送短信验证码。
- JAVA实现利用第三方平台发送短信验证码
- JAVA利用第三方平台发送短信验证码。
- iOS集成QQ、微信、微博、短信、邮件分享(非第三方集成)
- iOS集成QQ、微信、微博、短信、邮件分享(非第三方集成)
- iOS集成QQ、微信、微博、短信、邮件分享(非第三方集成)
- cookie的简单封装
- Android UI优化
- PHP编写的Server程序在某些情况下表现会较差
- mxnet系列 全连接层代码阅读
- 从远程git服务器上导入项目到本地
- java第三方,邮件,短信功能
- 深入理解java虚拟机--OutOfMemoryError
- java 参数类型Object...
- Block存储域探析
- HTTP协议详解
- 用opencsv和用Bufferedreader/writer进行csv文件的读写及简单处理
- Tensorflow中reshape()函数的使用
- 生成式对抗网络---机器学习中的热门话题
- 参数传值,传引用,传值,传指针