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/u4ef6host=smtp.163.comusername=*****password=*****fromadd=*****@163.com

如果心在远方,只需勇敢前行,梦想自会引路,

Java发送邮件

相关文章:

你感兴趣的文章:

标签云: