Android开发中,当忘记密码需要找回密码的时候,很多情况都是向注册邮箱自动发送注册登录密码,自己写的一个自动发送邮件的java类,亲测可用。
直接贴代码:
public class SendMail {
static int port = 25;//端口号
static String server = "smtp.163.com";// 邮件服务器mail.cpip.net.cn
static String from = "小明";// 发送者,显示的发件人名字
static String user = "xxxxx@163.com";// 发送者邮箱地址
static String password = "xxxxxx";// 密码
public static void sendEmail(String email, String subject, String body)
throws UnsupportedEncodingException {
try {
Properties props = new Properties();
props.put("mail.smtp.host", server);
props.put("mail.smtp.port", String.valueOf(port));
props.put("mail.smtp.auth", "true");
Transport transport = null;
Session session = Session.getDefaultInstance(props, null);
transport = session.getTransport("smtp");
transport.connect(server, user, password);
MimeMessage msg = new MimeMessage(session);
msg.setSentDate(new Date());
InternetAddress fromAddress = new InternetAddress(user, from,
"UTF-8");
msg.setFrom(fromAddress);
InternetAddress[] toAddress = new InternetAddress[1];
toAddress[0] = new InternetAddress(email);
msg.setRecipients(Message.RecipientType.TO, toAddress);
msg.setSubject(subject, "UTF-8");
msg.setText(body, "UTF-8");
msg.saveChanges();
transport.sendMessage(msg, msg.getAllRecipients());
} catch (NoSuchProviderException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
sendEmail(String email, String subject, String body)
email为发送的目的邮箱,subject邮件主题,body邮件内容。