java实现linux服务器163发送邮件

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("发送邮箱异常!");
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值