java邮件发送

在使用第三方客户端登录电子邮箱的时候,会涉及到一个邮箱授权码,并且是需要用户在邮箱官网去手动设置的,这是为了避免直接泄露电子邮箱的密码。

发送邮件采用的协议是SMTP,收取邮件采用的协议是POP3、IMAP。

对于QQ邮箱:

对于163邮箱:


在java中要进行邮件发送时,需要引入mail.jar,具体的代码如下:

public static void main(String[] args) throws Exception
{
    // 1 邮件服务器的设置
    Properties props = new Properties();
    props.setProperty("mail.host", "smtp.qq.com");
    // props.setProperty("mail.host", "smtp.163.com");
    props.setProperty("mail.smtp.auth", "true");
    
    // 2 账号和密码
    Authenticator authenticator = new Authenticator()
    {
        @Override
        protected PasswordAuthentication getPasswordAuthentication()
        {
            // 使用邮箱授权码,进行登录
            return new PasswordAuthentication("xxxxxxx@qq.com", "qq-authorization-code");
            // return new PasswordAuthentication("yyyyyyy@163.com", "163-authorization-code");
        }
    };
    
    // 3 与邮件服务器建立连接:Session
    Session session = Session.getDefaultInstance(props, authenticator);
    
    // 4 编写邮件:Message
    Message message = new MimeMessage(session);

    // 4.1 发件人
    message.setFrom(new InternetAddress("xxxxxxx@qq.com"));
    // 4.2 收件人(to:收件人,cc:抄送,bcc:暗送(密送))
    message.setRecipient(RecipientType.TO, new InternetAddress("other-user-email@163.com"));
    // 4.3 主题
    message.setSubject("主题:测试邮件");
    // 4.4 内容
    message.setContent("Hello World!", "text/html;charset=UTF-8");
    
    // 5 将消息进行发送:Transport
    Transport.send(message);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java邮件发送工具是JavaMail API。可以使用JavaMail API来发送文本邮件、HTML邮件、带附件的邮件等。 在Java中,可以使用MimeMessage类和MimeMessageHelper类来创建并发送邮件。首先,需要添加依赖项javax.mail到项目的pom.xml文件中: ``` <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> ``` 然后,可以使用以下代码来创建和发送邮件: ```java import javax.mail.*; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMessageHelper; public class EmailSender { public static void sendEmail(String to, String subject, String content, String from) { // 创建Session对象 Session session = Session.getDefaultInstance(new Properties()); try { // 创建MimeMessage对象 MimeMessage message = new MimeMessage(session); // 设置发件人 message.setFrom(new InternetAddress(from)); // 设置收件人 message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 设置主题 message.setSubject(subject); // 设置内容 message.setContent(content, "text/html"); // 发送邮件 Transport.send(message); System.out.println("邮件发送成功"); } catch (MessagingException e) { System.err.println("邮件发送失败"); } } } ``` 以上是一个简单的Java邮件发送工具类的示例。使用该工具类可以发送包含HTML代码的邮件。你可以调用`sendEmail`方法来发送邮件,其中`to`参数是收件人的邮箱地址,`subject`参数是邮件的主题,`content`参数是邮件的内容,`from`参数是发件人的邮箱地址。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值