Java发送邮件

public class MailSender {
    /**
     * 发送单个邮件
     * @throws Exception
     */
    public void sendMail() throws Exception{
        Properties props = new Properties();//创建属性对象
        props.put("mail.smtp.host", getHost());//设置smtp服务器地址
        props.put("mail.smtp.auth", "true");//设置服务器smtp需要验证
        Session session = Session.getInstance(props, null);//创建新邮件并群发
        //Session session = Session.getDefaultInstance(props);
        //session.setDebug(true);
        MimeMessage message = new MimeMessage(session);//创建过程对象
        message.setFrom(new InternetAddress(getFromAddr()));
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
        message.setSubject(getTitle());//设置主题
        Multipart multipart = new MimeMultipart();
        BodyPart contentPart = new MimeBodyPart();
        contentPart.setContent(this.getSendtext(), "text/html;charset=GBK");//设置信件内容
        multipart. addBodyPart(contentPart);
        if(getAttachPath() != null && getAttachName() != null){
            BodyPart attachmentPart= new MimeBodyPart();
            DataSource source = new FileDataSource(getAttachPath());
            attachmentPart.setDataHandler(new DataHandler(source));
           BASE64Encoder enc = new BASE64Encoder();
            attachmentPart.setFileName("=?GBK?B?"+enc.encode(getAttachName().getBytes())+"?=");
            multipart.addBodyPart(attachmentPart);
        }
        message.setContent(multipart);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(host, getUsername(), getPassword());
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
    /**
     * 群发邮件
     * @throws Exception
     */
    public void sendMails() throws Exception{
        Properties props = new Properties();//创建属性对象
        props.put("mail.smtp.host", getHost());//设置smtp服务器地址
        props.put("mail.smtp.auth", "true");//设置服务器smtp需要验证
        Session session = Session.getInstance(props, null);//创建新邮件并群发
        //Session session = Session.getDefaultInstance(props);
        //session.setDebug(true);
        MimeMessage message = new MimeMessage(session);//创建过程对象
        message.setFrom(new InternetAddress(getFromAddr()));//设置发送邮件地址
        message.setSentDate(new Date());//设置时间
        InternetAddress[] address = new InternetAddress[this.getMutliTo().length]; //群发地址
        for(int i = 0; i < this.getMutliTo().length; i++) { //循环发送
        address[i] = new InternetAddress((this.getMutliTo())[i]);
       }
     message.setRecipients(Message.RecipientType.TO, address);
       // message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
        message.setSubject(getTitle());//设置主题
        Multipart multipart = new MimeMultipart();
        BodyPart contentPart = new MimeBodyPart();
        contentPart.setContent(this.getSendtext(), "text/html;charset=GBK");//设置信件内容
        multipart. addBodyPart(contentPart);
        if(getAttachPath() != null && getAttachName() != null){
            BodyPart attachmentPart= new MimeBodyPart();
            DataSource source = new FileDataSource(getAttachPath());
            attachmentPart.setDataHandler(new DataHandler(source));
           BASE64Encoder enc = new BASE64Encoder();
            attachmentPart.setFileName("=?GBK?B?"+enc.encode(getAttachName().getBytes())+"?=");
            multipart.addBodyPart(attachmentPart);
        }
        message.setContent(multipart);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(host, getUsername(), getPassword());
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
    private String host = null; //邮件服务器
    private String fromAddr = null; //发送邮件地址
    private String toAddr = null; //接收邮件地址
    private String username = null; //发送邮件用户名
    private String password = null; //发送邮件密码
    private String title = null; //邮件标题
    private String attachPath = null; //邮件附件路径
    private String attachName = null; //邮件附件名
    private String sendtext = null; //邮件内容
    private String[] MutliTo = null; //群发用户
    public String[] getMutliTo() {
return MutliTo;
}
public void setMutliTo(String[] mutliTo) {
MutliTo = mutliTo;
}
public String getSendtext() {
return sendtext;
}
public void setSendtext(String sendtext) {
this.sendtext = sendtext;
}
public String getHost() {
        return host;
    }
    public void setHost(String host) {
        this.host = host;
    }
    public String getFromAddr() {
        return fromAddr;
    }
    public void setFromAddr(String fromAddr) {
        this.fromAddr = fromAddr;
    }
    public String getToAddr() {
        return toAddr;
    }
    public void setToAddr(String toAddr) {
        this.toAddr = toAddr;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getAttachPath() {
        return attachPath;
    }
    public void setAttachPath(String attachPath) {
        this.attachPath = attachPath;
    }
    public String getAttachName() {
        return attachName;
    }
    public void setAttachName(String attachName) {
        this.attachName = attachName;
    }
}

折射配置文件的内容

#\u914d\u7f6eemail\u53d1\u9001\u6587\u4ef6
host=smtp.163.com
username=*****
password=*****
fromadd=*****@163.com

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索string
, 邮件
, enc28j60
, new
, null
, public
, message
, session actory null
SMTP host
java发送邮件代码、java发送邮件带附件、javamail发送邮件、java发送qq邮件、java发送短信,以便于您获取更多的相关知识。

时间: 2024-09-29 19:30:18

Java发送邮件的相关文章

使用java发送邮件出错

问题描述 使用java发送邮件出错 之前测试能发送邮件的,今天又试了一下出问题了....不知道什么原因,求大神 DEBUG: setDebug: JavaMail version 1.4.1 DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc] DEBUG SMTP: useEhlo true, useAuth

java发送邮件不能带&amp;amp;quot;&amp;amp;amp;&amp;amp;quot;

问题描述 java发送邮件不能带"&" 如题 , url中带了&自动把后面的字符截掉了 , 请问如何避免 解决方案 java发送邮件java 发送邮件Java发送邮件 解决方案二: html字符转义,用 %26 代替http://www.tuicool.com/articles/YzYfaa 解决方案三: 用encodeURI试试呢? 解决方案四: 原来不是邮件发不过去, 是UMEditor没有获取到&后面的东西 , <script type="

谈谈在Java发送邮件中遇到的的问题_java

前言 发送邮件的代码是我从以前的一个应用上直接拷贝过来的.以前使用的腾讯的邮件服务,程序执行起来没有任何问题.后来修改为微软office365邮件服务后,却遇到了两个问题. 问题一,tls加密设置 异常信息如下: Exception in thread "main" com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.57 SMTP; Client was not authenticated to send anonymous mail

Java发送邮件遇到的常见需求汇总_java

基于SMTP发送一个简单的邮件 首先,需要一个认证器: package No001_基于SMTP的文本邮件; import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class SimpleAuthenticator extends Authenticator { private String username; private String password; public Simple

Java发送邮件javax.mail的实现方法_java

直接上源码:1. 邮件的基本信息(方便就直接设置为静态了) 下面最好是做为一个javabean package com.lgf.Email; import java.util.Date; public class EmailMessage { /** * 邮件的信息,可以自己进行设置. * 为了方便直接全部设置为静态 */ // 收件人邮箱 public static String TO = "xxx@xxx.com"; // 发件人邮箱 public static String FR

java发送邮件时出现“554 5.1.0 Sender Denied&amp;amp;quot;请大神帮帮忙

问题描述 java发送邮件时出现"554 5.1.0 Sender Denied"请大神帮帮忙 用的邮箱不是QQ 邮箱 ,是自己公司的邮箱. javax.mail.MessagingException: 554 5.1.0 Sender Denied at com.sun.mail.smtp.SMTPTransport.issueCommand(SMTPTransport.java:1020) at com.sun.mail.smtp.SMTPTransport.mailFrom(SM

java发送邮件示例讲解_java

本文实例讲解了java发邮件的详细过程,供大家参考,具体内容如下 1.邮件协议 发邮件的:SMTP (Simple Mail Transport  Protocal) 收邮件的协议:pop3 (Post Office Protocal 3) IMAP 新协议 发邮件也可以收邮件. (一步步的与服务器交互) SMTP : 2.收发邮件的过程: 一般情况下,smtp和pop3是两个服务器(主机). Smtp邮件的端口为25. POP3 端口 为110. 发邮件示例 1).安装foxmail: 2).

利用Java发送邮件的实现代码_java

前言 大家请注意:以下代码使用的测试邮箱为126的邮箱,实测可用,注意,个人测试时,注意发送的邮件内容,邮件内容邮箱服务器审查较严格,少有不慎就会被判定为垃圾邮件,进而就会给你返回一个错误码: 实例代码 import java.util.Date; import java.util.Properties; import javax.mail.Authenticator; import javax.mail.Message; import javax.mail.PasswordAuthentica

WebService java 发送邮件接口 总结

java发送邮件,主要用的jar 使用的jar包 mail.jar web service 用的xfire 大致思路及步骤    1. 定义邮件发送接口    2. 配置邮件线程池    3. 记录日志   实体 MailBean  代码如下 复制代码 package com.reagle.bean;      import java.util.Date;  import java.util.List;  import java.util.Properties;    import javax.