JavaMail发送邮件个人学习总结

2025-10-12 05:18:04

1、Demo1  发送文本内容邮件

源码:

package com.peng.sun;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class Lession1 {

    String host = "";

    String user = "";

    String password = "";

    public void setHost(String host) {

        this.host = host;

    }

    public void setAccount(String user, String password) {

        this.user = user;

        this.password = password;

    }

    public void send(String from, String to, String subject, String content) {

        Properties props = new Properties();

        props.put("mail.smtp.host", host); // 指定SMTP服务器

        props.put("mail.smtp.auth", "true"); // 指定是否需要SMTP验证

        try {

            Session mailSession = Session.getDefaultInstance(props);

            Message message = new MimeMessage(mailSession);

            message.setFrom(new InternetAddress(from)); // 发件人

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 收件人

            message.setSubject(subject); // 邮件主题

            message.setText(content); // 邮件内容

            message.saveChanges();

            Transport transport = mailSession.getTransport("smtp");

            transport.connect(host, user, password);

            transport.sendMessage(message, message.getAllRecipients());

            transport.close();

        } catch(Exception e) {

            System.out.println(e);

        }

    }

    public static void main(String[] args) {

        Lession1 sm = new Lession1();

        sm.setHost("smtp.qiye.163.com"); // 指定要使用的邮件服务器

        sm.setAccount("sunpeng@cfc-si.com", "*********"); // 指定帐号和密码

        /*

* @param String 发件人的地址

* @param String 收件人地址

* @param String 邮件标题

* @param String 邮件正文

*/

        sm.send("sunpeng@cfc-si.com", "sunpeng2@cfc-si.com", "标题", "HelloWold!");

    }

}

2、Demo2  发送HTML内容邮件

//主要利用message.setContent(content, "text/html;charset=utf-8");来实现发送html内容的邮件

源码如下:

package com.peng.sun;

import java.util.Date;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class Lession1 {

    String host = "";

    String user = "";

    String password = "";

    public void setHost(String host) {

        this.host = host;

    }

    public void setAccount(String user, String password) {

        this.user = user;

        this.password = password;

    }

    public void send(String from, String to, String subject, String content) {

        Properties props = new Properties();

        props.put("mail.smtp.host", host); // 指定SMTP服务器

        props.put("mail.smtp.auth", "true"); // 指定是否需要SMTP验证

        try {

            Session mailSession = Session.getDefaultInstance(props);

            Message message = new MimeMessage(mailSession);

            message.setFrom(new InternetAddress(from)); // 发件人

            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); // 收件人

            message.setSubject(subject); // 邮件主题

            //指定邮箱内容及ContentType和编码方式

            message.setContent(content, "text/html;charset=utf-8");

            //指定邮件发送日期

            message.setSentDate(new Date());

            message.saveChanges();

            Transport transport = mailSession.getTransport("smtp");

            transport.connect(host, user, password);

            transport.sendMessage(message, message.getAllRecipients());

            transport.close();

        } catch(Exception e) {

            System.out.println(e);

        }

    }

    public static void main(String[] args) {

        Lession1 sm = new Lession1();

        sm.setHost("smtp.qiye.163.com"); // 指定要使用的邮件服务器

        sm.setAccount("sunpeng@cfc-si.com", "**********"); // 指定帐号和密码

        /*

* @param String 发件人的地址

* @param String 收件人地址

* @param String 邮件标题

* @param String 邮件正文

*/

        sm.send("sunpeng@cfc-si.com", "sunpeng2@cfc-si.com", "标题", "<br>Hellor,World!<hr>");

    }

}

3、Demo3   发送带附件的邮件

有空接着写,谢谢关注!

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢