java 发送邮件备忘

来源:互联网 发布:数据融合关键技术 编辑:程序博客网 时间:2024/06/03 20:36
废话不说.直接上代码

xml:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd  ">    <!-- java mailSender  start -->    <bean id="mailBaseService" class="com.ybzt.common.mail.impl.MailBaseServiceImpl">        <!-- 服务器 -->        <property name="host" value="smtp.163.com" />        <!-- 端口号 -->        <property name="port" value="25" />        <!-- 用户名 -->        <property name="username" value="xxxx@163.com" />        <!-- 密码 -->        <property name="password" value="xxxx" />        <!-- SMTP服务器验证 -->        <property name="javaMailProperties">            <props>                <!-- 验证身份 -->                <prop key="mail.smtp.auth">true</prop>            </props>        </property>        <!-- 发件人email -->        <property name="from" value="xxx0@163.com" />    </bean>    <!-- java mailSender  end --></beans>

接口类:

package com.ybzt.common.mail;import java.io.File;import javax.mail.MessagingException;import org.springframework.mail.javamail.JavaMailSender;/** *  *  * @ClassName: IMailBaseService *  * @Description: 发送邮件服务类 *  *  *  *  */public interface IMailBaseService extends JavaMailSender {    /**     *      * @Title:sendMail     * @Description:发送邮件     * @param subject     *            主题     * @param content     *            内容     * @param to     *            收件人     * @return void     */    public void sendMail(String subject, String content, String[] to) throws MessagingException;    /**     *      * @Title:sendMail     * @Description:发送邮件     * @param subject     *            主题     * @param content     *            内容     * @param to     *            收件人     * @param attachment     *            附件     * @return void     */    public void sendMail(String subject, String content, String[] to, File attachment) throws MessagingException;    public void sendMail(String subject, String content, String[] to, File[] attachments) throws MessagingException;}

实现类:

package com.ybzt.common.mail.impl;import java.io.File;import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.mail.javamail.JavaMailSenderImpl;import org.springframework.mail.javamail.MimeMessageHelper;import com.ybzt.common.mail.IMailBaseService;public class MailBaseServiceImpl extends JavaMailSenderImpl implements IMailBaseService {    private static Log loger = LogFactory.getLog(MailBaseServiceImpl.class);    private String from;    public String getFrom() {        return from;    }    public void setFrom(String from) {        this.from = from;    }    @Override    public void sendMail(String subject, String content, String[] to) throws MessagingException {        // 建立邮件消息,发送简单邮件和html邮件的区别        MimeMessage mailMessage = createMimeMessage();        // 为防止乱码,添加编码集设置        MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, "UTF-8");        try {            messageHelper.setFrom(from);            messageHelper.setSubject(subject); // 设置邮件主题            messageHelper.setTo(to); // 设定收件人            messageHelper.setText(content, true); // 设置邮件内容            send(mailMessage); // 发送邮件        } catch (MessagingException e) {            loger.error("发送邮件时出错:" + e);            throw e;        }    }    @Override    public void sendMail(String subject, String content, String[] to, File attachment) throws MessagingException {        // 建立邮件消息,发送简单邮件和html邮件的区别        MimeMessage mailMessage = createMimeMessage();        // 为防止乱码,添加编码集设置        MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");        try {            messageHelper.setFrom(from);            messageHelper.setSubject(subject); // 设置邮件主题            messageHelper.setTo(to); // 设定收件人            messageHelper.setText(content, true); // 设置邮件内容            // 添加附件的内容            if (attachment != null) {                messageHelper.addAttachment(attachment.getName(), attachment);            }            send(mailMessage); // 发送邮件        } catch (MessagingException e) {            loger.error("发送邮件时出错:" + e);            throw e;        }    }    @Override    public void sendMail(String subject, String content, String[] to, File[] attachments) throws MessagingException {        // 建立邮件消息,发送简单邮件和html邮件的区别        MimeMessage mailMessage = createMimeMessage();        // 为防止乱码,添加编码集设置        MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "UTF-8");        try {            messageHelper.setFrom(from);            messageHelper.setSubject(subject); // 设置邮件主题            messageHelper.setTo(to); // 设定收件人            messageHelper.setText(content, true); // 设置邮件内容            // 添加附件的内容            if (attachments != null && attachments.length > 0) {                for (File attachment : attachments) {                    messageHelper.addAttachment(attachment.getName(), attachment);                }            }            send(mailMessage); // 发送邮件        } catch (MessagingException e) {            loger.error("发送邮件时出错:" + e);            throw e;        }    }}
<dependency>        <groupId>javax.mail</groupId>        <artifactId>mail</artifactId>        <version>1.4.4</version>    </dependency>

然后在别的service 或者controller 直接调用..

原创粉丝点击