qq邮箱发送

简介: qq邮箱发送

宁鸣而死,不默而生。——胡适

package com.ruben.utils; 
/**
 * @ClassName: SendEmail
 * @Date: 2020/11/7 0007 19:36
 * @Description:
 */
import com.ruben.pojo.EmailDataTransferObject;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
/**
 * @ClassName: SendEmail
 * @Description: 我还没有写描述
 * @Date: 2020/11/7 0007 19:36
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
public class SendEmail {
    public static void sendEmail(EmailDataTransferObject emailDataTransferObject) throws MessagingException {
        //做链接前的准备工作  也就是参数初始化
        Properties properties = new Properties();
        properties.setProperty("mail.smtp.host", "smtp.qq.com");//发送邮箱服务器
        properties.setProperty("mail.smtp.port", "465");//发送端口
        properties.setProperty("mail.smtp.auth", "true");//是否开启权限控制
        properties.setProperty("mail.debug", "true");//true 打印信息到控制台
        properties.setProperty("mail.transport", "smtp");//发送的协议是简单的邮件传输协议
        properties.setProperty("mail.smtp.ssl.enable", "true");
        //建立两点之间的链接
        Session session = Session.getInstance(properties, new Authenticator() {
            @Override
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(emailDataTransferObject.getSender(), emailDataTransferObject.getCode());
            }
        });
        //创建邮件对象
        Message message = new MimeMessage(session);
        //设置发件人
        try {
            message.setFrom(new InternetAddress(emailDataTransferObject.getSender()));
            //设置收件人
            message.setRecipient(Message.RecipientType.TO, new InternetAddress(emailDataTransferObject.getReceiver()));//收件人
            //设置主题
            message.setSubject(emailDataTransferObject.getTitle());
            //设置邮件正文  第二个参数是邮件发送的类型
            message.setContent(emailDataTransferObject.getContent(), "text/html;charset=UTF-8");
            //发送一封邮件
            Transport transport = session.getTransport();
            transport.connect(emailDataTransferObject.getSender(), emailDataTransferObject.getCode());
            Transport.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        } finally {
        }
    }
}


package com.ruben.pojo;
/**
 * @ClassName: EmailDataTransferObject
 * @Date: 2020/11/7 0007 21:50
 * @Description:
 */
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Email;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
 * @ClassName: EmailDataTransferObject
 * @Description: 我还没有写描述
 * @Date: 2020/11/7 0007 21:50
 * *
 * @author: <achao1441470436@gmail.com>
 * @version: 1.0
 * @since: JDK 1.8
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EmailDataTransferObject {
    @Email(message = "请输入合法邮箱")
    private String sender;
    @NotBlank(message = "请输入授权码")
    private String code;
    @Email(message = "请输入合法邮箱")
    private String receiver;
    @NotBlank(message = "请输入标题")
    private String title;
    @NotBlank(message = "请输入内容")
    private String content;
    @NotNull(message = "请输入间隔时间(秒)")
    @Min(value = 0, message = "间隔时间不能为负数")
    private Long split;
    @NotNull(message = "请输入发送次数")
    @Min(value = 0, message = "发送次数不能为负数")
    private Long times;
}
相关文章
|
10月前
Javamail发送新浪邮件后保存邮件到已发送
Javamail发送新浪邮件后保存邮件到已发送
67 0
Jamil+c#—实现邮件的发送
Jamil+c#—实现邮件的发送
130 0
Jamil+c#—实现邮件的发送
|
C#
jmail + c#实现邮件的接收
jmail + c#实现邮件的接收
160 0
|
数据安全/隐私保护
邮箱发送
邮箱发送
1728 0
|
C# 数据安全/隐私保护 API