• Java 发送邮件


    一、两个jar包

    二、代码

    import java.util.Properties;
    
    import javax.activation.DataHandler;
    import javax.activation.DataSource;
    import javax.activation.FileDataSource;
    import javax.mail.Authenticator;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.Multipart;
    import javax.mail.PasswordAuthentication;
    import javax.mail.Session;
    import javax.mail.Transport;
    import javax.mail.internet.InternetAddress;
    import javax.mail.internet.MimeBodyPart;
    import javax.mail.internet.MimeMessage;
    import javax.mail.internet.MimeMultipart;
    
    import com.sun.mail.util.MailSSLSocketFactory;
    
    public class Test1 {
        public static void main(String[] args) {
            sendMail();
        }
    
        public static void sendMail() {
            String from = "90xxxx31@qq.com";
            String to = "229xxxx572@qq.com";
            String host = "smtp.qq.com";
            try {
                Properties properties = System.getProperties();
                //SSL加密
                MailSSLSocketFactory sf = new MailSSLSocketFactory();
                sf.setTrustAllHosts(true);
                properties.put("mail.smtp.ssl.enable", "true");
                properties.put("mail.smtp.ssl.socketFactory", sf);
                properties.setProperty("mail.smtp.host", host);
                properties.put("mail.smtp.auth", "true");
    
                //获取发送邮件会话、获取第三方登录授权码
                Session session = Session.getDefaultInstance(properties, new Authenticator() {
                    @Override
                    protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication(from, "xxxxxxxx");//第三方登录授权码
                    }
                });
    
                Message message = new MimeMessage(session);
    
                //防止邮件被当然垃圾邮件处理,披上Outlook的马甲
                message.addHeader("X-Mailer", "Microsoft Outlook Express 6.00.2900.2869");
    
                message.setFrom(new InternetAddress(from));
    
                message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
    
                message.setSubject("This is the subject line!");
    
                BodyPart bodyPart = new MimeBodyPart();
    
                bodyPart.setText("发送");
    
                Multipart multipart = new MimeMultipart();
    
                multipart.addBodyPart(bodyPart);
    
                //附件
                // bodyPart = new MimeBodyPart();
                // String fileName = "文件路径";
                // DataSource dataSource = new FileDataSource(fileName);
                // bodyPart.setDataHandler(new DataHandler(dataSource));
                // bodyPart.setFileName("文件显示的名称");
                // multipart.addBodyPart(bodyPart);
    
                message.setContent(multipart);
    
                Transport.send(message);
                System.out.println("mail transports successfully");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    使用JAVA发送QQ邮件的总结

  • 相关阅读:
    常用内建函数
    函数作用域
    异常处理语句
    迭代器---待延申扩展
    流程控制语句
    字典
    集合
    数据类型的可变与不可变
    Openstack keystone组件详解
    云计算openstack介绍(001)
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/12104930.html
Copyright © 2020-2023  润新知