Java Mail 发送邮件126、163 、QQ

下面是发送的代码(可测试)

//1、创 建 连 接 对 象,连 接 到 邮 箱 服 务 器
        Properties props = new Properties();
        //开 启 debug 调 试
        props.setProperty("mail.debug", "true");
        //stmp服 务 器 需 要 进 行 身 份 验 证,也 就 是 用  户 名 和 密 码 的 校 验,这 样 才 
        能 通 过 验 证
        props.setProperty("mail.smtp.auth", "true");
        //发 送 邮 件 协 议 名 称
        props.setProperty("mail.transport.protocol", "smtp");
        //设 置 邮 件服 务 器 主 机 名
        props.setProperty("mail.host", hostSend);
        //设 端 口 号 (该 配 置 可 写 可 不 写)
        props.setProperty("mail.smtp.port", "465");
        //授 权 码
        props.setProperty("mail.smtp.password", password);
        //开 启 S S L 加 密,否 则 会 失 败
        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory", sf);
        //解决附件文件名过长的问题
        props.put("mail.mime.splitlongparameters", "false");
        System.setProperties(props);
        //Authenticator:认 证 信 息
        Session session = Session.getInstance(props, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return mAuthenticator.getPasswordAuthentication();
        //使 用 它 给 其 他 账 户 发 邮 件
            }
        });
        //下面设置邮件的内容(自行设置)
        Message message = new MimeMessage(session);
        message.saveChanges();
        //3.发 送 邮 件
        Transport trans = session.getTransport();
        //连 接 邮 件 服 务 器
        trans.connect(mAuthenticator.getUsername(), mAuthenticator.getPassword());
        //发 送 邮 件
        trans.sendMessage(message, message.getAllRecipients());
        //关 闭 连 接
        trans.close();
        //Transport.send(message);(两 种 方 式 都 可 以)
        System.out.println("发 送 成 功");

 我们需要注意的参数有两个:

props.setProperty("mail.host", hostSend);//我们需要修改服务器的名称 比如163对应 smtp.163.com
props.setProperty("mail.smtp.port", "465");//ssl加密的端口号都是465,所以我们不需要修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Java发送QQ邮件,你需要遵循以下步骤: 1. 导入JavaMailJava Activation Framework (JAF)的相关库。 2. 设置QQ邮箱的SMTP服务器及端口号。QQ邮箱的SMTP服务器是smtp.qq.com,端口号是465或587。 3. 创建一个Properties对象,并设置SMTP服务器相关属性。其中包括邮件服务器地址(mail.smtp.host),端口号(mail.smtp.port),使用的加密类型(mail.smtp.ssl.enable),是否需要身份验证(mail.smtp.auth)等。 4. 创建Session对象,用于与SMTP服务器进行通信。使用Properties对象作为参数来实例化Session对象。 5. 创建一个MimeMessage实例,该实例将包含要发送的电子邮件的内容。 6. 设置发件人地址、收件人地址、邮件主题和正文等属性。 7. 创建一个Transport对象,并使用Session对象和发件人的邮箱账号及密码进行身份验证。 8. 发送邮件,使用Transport对象的静态方法send()来发送MimeMessage实例。 以下是一个使用Java代码发送QQ邮件的示例: ```java import java.util.Properties; import javax.mail.*; import javax.mail.internet.*; public class QQEmailSender { public static void main(String[] args) throws MessagingException { String from = "你的QQ邮箱地址"; String password = "你的QQ邮箱授权码"; String to = "收件人邮箱地址"; Properties properties = new Properties(); properties.put("mail.smtp.host", "smtp.qq.com"); properties.put("mail.smtp.port", "587"); properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.auth", "true"); Session session = Session.getInstance(properties, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(from, password); } }); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(from)); message.setRecipient(Message.RecipientType.TO, new InternetAddress(to)); message.setSubject("Java发送QQ邮件"); message.setText("这是使用Java发送的一封QQ邮件。"); Transport.send(message); System.out.println("邮件发送成功!"); } } ``` 请确保替换代码中的"你的QQ邮箱地址"、"你的QQ邮箱授权码"和"收件人邮箱地址"为正确的邮箱地址和授权码,并保证你的QQ邮箱已开启SMTP服务。 这是一个基本的示例,你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值