java编写QQ邮箱发送邮件_调用QQ邮箱接口

使用java语言,调用QQ邮箱发送邮件接口,完成QQ邮箱发送邮件。步骤如下

在QQ邮箱主界面里面开启POP/SMTP服务:设置-账户-开启pop/smtp服务

点击开启pop/smtp服务后,会弹出验证密保,就是通过密保手机号,发送“配置邮件客户端”到1069 0700 69,(自己用手机弄一下就好了),用自己手机发送完后点击“我已发送”

点击“我已发送”后会弹出一个开启POP3/SMTP服务的授权码,这个授权码很重要,要记住这个授权码:授权码很重要,然后点击确定

此次我们就开起来POP3/SMTP服务了

到我们的项目中开始编码:
首先我们在项目中导入一个包:mail.jar ,可以到网网上搜索下载

编写一个QQ发送邮件的工具类:在工具类里面编写一个静态的方法:这个静态方法接收两个参数,第一个参数是:你要发送给对方的邮箱(对方qq邮箱),第二个参数:发送的内容(我的项目中是验证码):代码如下:
package org.passbox.soft.utils;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.Message.RecipientType;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.AddressException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

/*

  • 邮件发送工具类

  • */

public class MailUtils {undefined

   //发送第二封验证码邮件

   public static void sendMail(String to, String vcode) throws Exception{undefined

          //设置发送邮件的主机  smtp.qq.com

          String host = "smtp.qq.com";

          //1.创建连接对象,连接到邮箱服务器

          Properties props = System.getProperties();

          //Properties 用来设置服务器地址,主机名 。。 可以省略

          //设置邮件服务器

          props.setProperty("mail.smtp.host", host);       

          props.put("mail.smtp.auth", "true");

          //SSL加密

          MailSSLSocketFactory sf = new MailSSLSocketFactory();

          sf.setTrustAllHosts(true);

          props.put("mail.smtp.ssl.enable","true");

          props.put("mail.smtp.ssl.socketFactory", sf);     

          //props:用来设置服务器地址,主机名;Authenticator:认证信息

          Session session = Session.getDefaultInstance(props,new Authenticator() {undefined

                 @Override   

                 //通过密码认证信息

                 protected PasswordAuthentication getPasswordAuthentication() {undefined

                        //new PasswordAuthentication(用户名, password);

                        //这个用户名密码就可以登录到邮箱服务器了,用它给别人发送邮件

                        return new PasswordAuthentication("写自己QQ邮箱","写自己的授权码");

                 }            

          });

          try {undefined

                 Message message = new MimeMessage(session);

                 //2.1设置发件人:

                 message.setFrom(new InternetAddress("写自己的QQ邮箱"));

                 //2.2设置收件人 这个TO就是收件人

                 message.setRecipient(RecipientType.TO, new InternetAddress(to));

                 //2.3邮件的主题

                 message.setSubject("来自密码云网站验证码邮件");

                 //2.4设置邮件的正文 第一个参数是邮件的正文内容 第二个参数是:是文本还是html的连接

                 message.setContent("<h1>来自密码云网站验证码邮件,请接收你的验证码:</h1><h3>你的验证码是:"+vcode+",请妥善保管好你的验证码!</h3>", "text/html;charset=UTF-8");      

                 //3.发送一封激活邮件

                 Transport.send(message);

                

          }catch(MessagingException mex){undefined

                  mex.printStackTrace();

          }     

   }

}

注意:

5.3 在server里面调用这个QQ邮箱工具类里面的静态方法发送邮件:而且要传入两个参数

.对方的QQ邮箱和,内容(验证码)

5.4 我们就可以收到发送过来的邮件了

最后:如果出现535错误(乱码535),

   原因1:授权码错误

   原因2:开启POP3/SMTP服务后,没有保存
要使用Java调用API发送企业邮箱,需要按照以下步骤操作: 1. 配置企业邮箱SMTP服务 首先需要在企业邮箱后台配置SMTP服务,获取SMTP服务器地址、端口号、用户名和密码等信息。一般情况下,SMTP服务器地址为smtp.exmail.qq.com,端口号为465或587。 2. 导入JavaMail库 JavaMail是一款Java邮件发送库,可以通过Maven或手动导入jar包的方式引入到项目中。 3. 编写Java代码 使用JavaMail库发送邮件的代码示例: ``` public static void sendMail(String smtpServer, String smtpPort, String username, String password, String fromAddress, String toAddress, String subject, String content) throws MessagingException { Properties props = new Properties(); props.setProperty("mail.transport.protocol", "smtp"); props.setProperty("mail.smtp.host", smtpServer); props.setProperty("mail.smtp.port", smtpPort); props.setProperty("mail.smtp.auth", "true"); props.setProperty("mail.smtp.ssl.enable", "true"); Session session = Session.getDefaultInstance(props, new Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }); Message message = new MimeMessage(session); message.setFrom(new InternetAddress(fromAddress)); message.setRecipient(Message.RecipientType.TO, new InternetAddress(toAddress)); message.setSubject(subject); message.setContent(content, "text/html;charset=UTF-8"); Transport.send(message); } ``` 其中,smtpServer、smtpPort、username和password为企业邮箱SMTP服务的配置信息;fromAddress和toAddress为发件人和收件人的邮箱地址;subject为邮件主题;content为邮件正文。 4. 调用Java代码 在Java程序中调用sendMail()方法即可发送邮件。 示例代码: ``` public static void main(String[] args) throws Exception { String smtpServer = "smtp.exmail.qq.com"; String smtpPort = "465"; String username = "your_email@your_company.com"; String password = "your_password"; String fromAddress = "your_email@your_company.com"; String toAddress = "recipient_email@recipient_company.com"; String subject = "Test Email"; String content = "<h1>Hello, World!</h1>"; sendMail(smtpServer, smtpPort, username, password, fromAddress, toAddress, subject, content); } ``` 以上就是使用Java调用API发送企业邮箱的步骤和代码示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值