网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 Java 邮件发送Demo
范文
    1、首先在项目中导入jar包,我用的是mail-1.4.jar
    2、一下是我的代码:
    public class SendMailUtil {
    private static final Logger logger = Logger.getLogger(SendMailUtil.class);
    // 定义发件人、收件人、主题等
    private String to = null;// 收件人邮箱地址
    private String from = null;// 发件人邮箱地址
    private String password = null;//发件人密码
    private String host = null;//邮件服务器
    private String filename = null;
    // 用于保存发送附件的文件路径名的集合
    private Vector<String> fileList = new Vector<String>();
    /*
    * 可以传发件人等参数的构造
    */
    public SendMailUtil(String to, String from, String password,
    String smtpServer) {
    // 初始化发件人、收件人、主题等
    this.to = to;
    this.from = from;
    this.password = password;
    this.host = smtpServer;
    }
    /*
    * 该方法用于收集附件名
    */
    public void attachfile(String fname) {
    fileList.addElement(fname);
    }
    /*
    * 开始发送信件的方法
    */
    public boolean startSend(String emailTitle, String emailContent) {
    if (StringUtils.isBlank(emailContent)) {
    logger.error("邮件内容不能为空!");
    return false;
    }
    try {
    if (StringUtils.isBlank(emailContent)) {
    throw new NullPointerException("发送的内容不能为空!");
    }
    // 创建Properties对象
    Properties props = System.getProperties();
    // 创建信件服务器
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.password", "0");
    // 得到默认的对话对象
    Session session = Session.getInstance(props,
    new PopupAuthenticator(this.from, this.password));
    // 创建一个消息,并初始化该消息的各项元素
    MimeMessage msg = new MimeMessage(session);
    msg.setFrom(new InternetAddress(from));
    InternetAddress[] address = { new InternetAddress(to) };
    msg.setRecipients(Message.RecipientType.TO, address);
    // getBytes("ISO-8859-1")
    // String title=new String(emailTitle.getBytes("ISO-8859-1"),"GBK");
    msg.setSubject(emailTitle);
    // 后面的BodyPart将加入到此处创建的Multipart中
    Multipart mp = new MimeMultipart("subtype");
    // 添加HTML正文
    BodyPart htmlBody = new MimeBodyPart();
    MimeMultipart htmlContent = new MimeMultipart("related");
    BodyPart msgContent = new MimeBodyPart();
    htmlContent.addBodyPart(msgContent);
    msgContent.setContent(emailContent, "text/html;charset=utf-8");
    htmlBody.setContent(htmlContent);
    mp.addBodyPart(htmlBody);
    // 利用枚举器方便的遍历集合
    Enumeration efile = fileList.elements();
    // 检查序列中是否还有更多的对象
    while (efile.hasMoreElements()) {
    MimeBodyPart mbp = new MimeBodyPart();
    // 选择出每一个附件名
    filename = efile.nextElement().toString();
    // 得到数据源
    FileDataSource fds = new FileDataSource(filename);
    // 得到附件本身并至入BodyPart
    mbp.setDataHandler(new DataHandler(fds));
    // 得到文件名同样至入BodyPart
    mbp.setFileName(fds.getName());
    mp.addBodyPart(mbp);
    }
    // 移走集合中的所有元素
    fileList.removeAllElements();
    // Multipart加入到信件
    msg.setContent(mp);
    // 设置信件头的发送日期
    msg.setSentDate(new Date());
    // 发送信件
    Transport.send(msg);
    } catch (Exception e) {
    e.printStackTrace();
    return false;
    }
    return true;
    }
    // 认证类
    class PopupAuthenticator extends Authenticator {
    private String username ;
    private String password ;
    public PopupAuthenticator(String user, String pass) {
    this.username = user;
    this.password = pass;
    }
    protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(username, password);
    }
    }
    //测试
    public static void main(String[] args) {
    SendMailUtil mail = new SendMailUtil("",
    "", "smtp.163.com");
    mail.attachfile("C:\Users\awen\Desktop\a.txt");
    mail.startSend("交接文档","收到请回复");
    System.out.println("邮件发送完成...");
    }
    3、测试成功,大家可以试一下。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/24 9:10:14