用Spring发邮件1

/  可以参考一下 这个链接来自: http://hi.baidu.com/zzcc%5F8/blog/item/13746d189fb842bf4bedbc59.html  

http://www.blogjava.net/amigoxie/archive/2007/04/28/114310.html

// 下面这个例子可以通过测试:我们注意红色字体

// Struts2 中进行的

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "spring-beans.dtd" >
    <beans>
    <bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host">
            <value>mail.logicsolutions.com</value>
        </property>
        <property name="username">
            <value>ale.hao</value>
        </property>
        <property name="password">
            <value>logic123</value>
        </property>
        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
            </props>
        </property>
    </bean>

    <bean id="mailFactory" class="com.budco.bmp.core.email.TestMail.MailSenderFactory">
        <property name="javaMailSender">
            <ref bean="sender" />
        </property>
    </bean>

    <bean id="baseMail" class="com.budco.bmp.core.email.TestMail.BaseMailDefined">
        <property name="to">

<!-- 这是本人和同事的邮箱地址 两个用户的地址 可以写多人的邮件地址-->
            <value>ale.hao@logicsolutions.com,weald.yuan@logicsolutions.com</value>
        </property>
        <property name="from">
            <value>no-reply@hiredmyway.com</value>
        </property>
        <property name="subject">
            <value>Test Spring Mail sender</value>
        </property>
        <property name="text">
            <value>this is a test spring mail !!!!!!!!!!! ok!</value>
        </property>
    </bean>
    </beans>

//

package com.budco.bmp.core.email.TestMail;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestApp2 {

    // activation.jar AND mail.jar import
    public static void main(final String[] args) throws Exception {

// 可以有多个配置文件.XML
        final ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(
                new String[] { "com/budco/bmp/core/email/TestMail/TestMail2.xml" });
        final MailSenderFactory factory = (MailSenderFactory) ctx.getBean("mailFactory");
        final BaseMailDefined bmd = (BaseMailDefined) ctx.getBean("baseMail");

        factory.senderSimpleMail(bmd);
        factory.senderMimeMail(bmd);
        factory.senderHtmlMail(bmd);

    }
}
//

package com.budco.bmp.core.email.TestMail;

import java.io.File;
import java.util.Date;

import javax.mail.internet.MimeMessage;

import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;

import com.sun.xml.internal.messaging.saaj.packaging.mime.MessagingException;

public class MailSenderFactory {

    private JavaMailSender javaMailSender;

    public void setJavaMailSender(final JavaMailSender javaMailSender) {
        this.javaMailSender = javaMailSender;
    }

    /**
     *Simple mail send
     *
     * @param bmd
     */
    public void senderSimpleMail(final BaseMailDefined bmd) {
        final SimpleMailMessage msg = new SimpleMailMessage();
        msg.setFrom(bmd.getFrom());
        msg.setText(bmd.getText());
        msg.setTo(bmd.getTo());
        msg.setSubject(bmd.getSubject());
        javaMailSender.send(msg);
    }

/**
     * Add an attachment send
     *  可以向多人发mail
     * @param bmd
     * @throws MessagingException
     * @throws javax.mail.MessagingException
     */
    public void senderMimeMail(final BaseMailDefined bmd) throws Exception, javax.mail.MessagingException {
        final MimeMessage msg = javaMailSender.createMimeMessage();
        final MimeMessageHelper helper = new MimeMessageHelper(msg, true);
        // final InternetAddress[] iaToList = new
        // InternetAddress().parse(bmd.getTo());

        if (bmd.getTo() == null || bmd.getTo().length == 0) {
            return;
        } else {
            final InternetAddress[] address = new InternetAddress[bmd.getTo().length];
            int i = 0;
            for (final String s : bmd.getTo()) {
                address[i] = new InternetAddress(s);
                i++;
            }

            // helper.setTo(iaToList);
            msg.setRecipients(Message.RecipientType.TO, address);
            helper.setText(bmd.getText());
            helper.setFrom(bmd.getFrom());
            helper.setSubject(bmd.getSubject());
            helper.setSentDate(new Date());
            // Attachment
// 带有附件
            helper.setText("<html><head>Test_Spring</head><body>Hello:Attachment!!!!!></body></html>", true);
               // 上传的文件
            final FileSystemResource file = new FileSystemResource(new File("D:/t-mp12.rar"));
            helper.addAttachment("t-mp12.rar", file);
            javaMailSender.send(msg);
        }
    }



    /**
     * send Inline picture OR html E_mail
     *
     * @param bmd
     * @throws MessagingException
     * @throws javax.mail.MessagingException
     */
    public void senderHtmlMail(final BaseMailDefined bmd) throws MessagingException, javax.mail.MessagingException {
        final MimeMessage msg = javaMailSender.createMimeMessage();
        final MimeMessageHelper helper = new MimeMessageHelper(msg, true, "UTF-8");
        helper.setTo(bmd.getTo());
        // helper.setText(bmd.getText(), true);
        helper.setFrom(bmd.getFrom());
        helper.setSubject(bmd.getSubject());
        helper.setSentDate(new Date());
        // send Inline picture OR html E_mail

//带有图片的
        helper
                .setText(
                        "<html><head><meta http-equiv='content-type' content='text/html;charset=UTF-8'></head><body>Hello:<font color='red' size='10'>"
                                + bmd.getText() + "</font><br></br><img src='cid:identifier1235'></body></html>", true);
        final FileSystemResource res = new FileSystemResource(new File("D:/t-mp12/lingoes.png"));

        helper.addInline("identifier1235", res);

        javaMailSender.send(msg);
    }
}
//

package com.budco.bmp.core.email.TestMail;

public class BaseMailDefined {


    protected String from;
    protected String subject;
    protected String text;

    public String getText() {
        return text;
    }

        public String[] getTo() {
        return to;
    }

    public void setTo(final String[] to) {
        this.to = to;
    }

    protected String[] to;

    public String getFrom() {
        return from;
    }

    public String getSubject() {
        return subject;
    }

    public void setText(final String text) {
        this.text = text;
    }


    public void setFrom(final String from) {
        this.from = from;
    }

    public void setSubject(final String subject) {
        this.subject = subject;
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值