美文网首页
发送邮件

发送邮件

作者: 阿fong | 来源:发表于2020-09-14 08:23 被阅读0次

    1.工具类 SendmailUtil

    package test;
    
    import javax.mail.Address;
    import javax.mail.BodyPart;
    import javax.mail.Message;
    import javax.mail.MessagingException;
    import javax.mail.Multipart;
    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;
    
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Properties;
    
    public class SendmailUtil {
    
        //邮件服务器主机名
        // QQ邮箱的 SMTP 服务器地址为: smtp.qq.com
        private static String smtp_url = "smtp.qq.com";
    
        //发件人邮箱
        private static String myEmailAccount = "643565226@qq.com";
    
        //发件人邮箱密码(授权码)
        //在开启SMTP服务时会获取到一个授权码,把授权码填在这里
        private static String myEmailPassword = "cvqqolqfrfdpbaje";
    
        /**
         * 邮件单发(自由编辑短信,并发送,适用于私信)
         *
         * @param toEmailAddress 收件箱地址
         * @param emailTitle 邮件主题
         * @param emailContent 邮件内容
         * @throws Exception
         */
        public static void sendEmail(String toEmailAddress, String emailTitle, String emailContent) throws Exception{
            
            //定义邮件会话参数
            Properties props = new Properties();
            // 开启debug调试
            props.setProperty("mail.debug", "true");
            // 发送服务器需要身份验证
    //      props.setProperty("mail.smtp.auth", "true");
            // 端口号
    //      props.put("mail.smtp.port", 465);
            // 设置邮件服务器主机名
    //      props.setProperty("mail.smtp.host", smtp_url);
            // 发送邮件协议名称
    //      props.setProperty("mail.transport.protocol", "smtp");
            
            
            //创建邮件会话对象
            Session session = Session.getInstance(props, null);
            //创建消息对象
            MimeMessage message = new MimeMessage(session);
            
            //创建发件人/收件人地址对象
            InternetAddress fromAddress = new InternetAddress(myEmailAccount);
            InternetAddress toAddress = new InternetAddress(toEmailAddress);
            //为消息对象设置发件人/收件人
            message.setFrom(fromAddress);
            message.addRecipient(Message.RecipientType.TO, toAddress);
            //设置邮件主题
            message.setSubject(emailTitle);
            
            //设置邮件内容,并设置为编码utf-8的超文本
            String text = pj(emailContent);
            message.setContent(text, "text/html;charset=utf-8");
            
            //设置传输对象,协议为smtp
            Transport transport = session.getTransport("smtp");
            //进行连接
            transport.connect(smtp_url, myEmailAccount, myEmailPassword);
            //发送邮件
            
            transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
            
            //关闭连接
            transport.close();
            
        }   
        
        static String pj(String emailContent){
            StringBuilder text = new StringBuilder();
    
            //写入内容
            text.append("\n" + emailContent);
    
            //写入我的官网
            text.append("\n官网:" + "https://www.shigmd.com");
    
            //定义要输出日期字符串的格式
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            //在内容后加入邮件发送的时间
            text.append("\n时间:" + sdf.format(new Date()));
            return text.toString();
        }
    
    }
    

    2.发送邮件 SendEmile

    package test;
    
    public class SendEmile{
        private final static String toEmailAddress = "1427585378@qq.com";
        private final static String emailTitle = "时光慢递";
        private final static String emailContent = "<h2><font color=red>这倒霉孩子</font></h2><div style='background-color: gray; color: red; font-size: 24px; width: 1000px; height: 600px; display: block; border: 10px blue solid;'>"
                +"写给一年后的我:<hr>感受停在我发端的指尖 如何瞬间冻结时间 记住望着我坚定的双眼 也许已经没有明天 面对浩瀚的星海 我们微小得像尘埃 漂浮在一片无奈 缘分让我们相遇乱世以外 命运却要我们危难中相爱 也许未来遥远在光年之外 我愿守候未知里为你等待 我没想到为了你我能疯狂到 山崩海啸没有你根本不想逃 我的大脑为了你已经疯狂到 脉搏心跳没有你根本不重要 一双围在我胸口的臂弯 足够抵挡天旋地转 一种执迷不放手的倔强 足以点燃所有希望 宇宙磅礴而冷漠 我们的爱微小却闪烁 颠簸却如此忘我 缘分让我们相遇乱世以外 命运却要我们危难中相爱 也许未来遥远在光年之外 我愿守候未知里为你等待 我没想到为了你我能疯狂到 山崩海啸没有你根本不想逃 我的大脑为了你已经疯狂到 脉搏心跳没有你根本不重要 也许航道以外是醒不来的梦 乱世以外."
                +"</div>";
        static void send() {
            try{
                //发送邮件
                SendmailUtil.sendEmail(toEmailAddress, emailTitle, emailContent);
            }catch(Exception e){
            }
        }
        
        public static void main(String[] args) {
            send();
        }
    }
    

    相关文章

      网友评论

          本文标题:发送邮件

          本文链接:https://www.haomeiwen.com/subject/bjfzihtx.html