1、申请163发送邮件权限
2、开启服务,会获取授权码,只会提示一次,一定要粘贴保存好
3、
3、java实现代码
try{ // 1.创建一个程序与邮件服务器会话对象 Session 解决linux上发送邮件失败问题,需要下面的配置 MailSSLSocketFactory sf = new MailSSLSocketFactory(); // 设置信任所有的主机,linux服务器设置的ssl导致不能进行发送邮件功能 sf.setTrustAllHosts( true ); Properties props = new Properties(); props.setProperty( "mail.transport.protocol", "SMTP" ); props.setProperty( "mail.host", "smtp.163.com" ); props.setProperty( "mail.smtp.auth", "true" );// 指定验证为true是否需要身份验证 props.setProperty( "mail.smtp.ssl.enable", "true" ); props.put( "mail.smtp.ssl.socketFactory",sf ); props.put( "username","发送者的邮箱名@163.com"); // 创建验证器 Authenticator auth = new Authenticator() { @Override public PasswordAuthentication getPasswordAuthentication() { // 密码验证,第一个参数:邮箱名不包括@163.com,第二个参数:授权码 return new PasswordAuthentication( "发送者的邮箱名", "授权码" ); } }; Session session = Session.getInstance( props, auth ); // 开启Session的debug模式,这样就可以查看到程序发送Email的运行状态 session.setDebug( true ); // 2.创建一个Message,它相当于是邮件内容 Message message = new MimeMessage( session ); message.setFrom( new InternetAddress( "发送者的邮箱名@163.com" ) ); // 设置发送者 message.setRecipient( MimeMessage.RecipientType.CC, new InternetAddress( props.get("username").toString() ) );//抄送自己,只有抄送自己才能给别的邮箱如:qq邮箱进行邮件发送 message.setRecipient( MimeMessage.RecipientType.TO, new InternetAddress( emailAddress ) ); // 设置发送方式与接收者 message.setSubject( "邮箱验证码" ); code = new StringBuffer().append(Math.round((Math.random() + 1) * 1000)).toString(); message.setContent( new StringBuffer().append("您好,您更改邮箱的验证码为:").append(code).toString(), "text/html;charset=utf-8" ); // 3.创建 Transport用于将邮件发送 Transport.send( message ); } catch (Exception e) { //获取捕捉异常并做相应的处理 e.getMessage(); e.printStackTrace(); return R.error("发送邮箱异常!"); }