邮件发送Demo

发送代码如下:

public class MailSender {
// 短信服务队列
private final String MAIL_QUEUE = "notify.mail.mailQueue";

public static void main(String[] args) {
MailSender sender = new MailSender();
DefaultEmailNotifyRequest request = sender.prepareRequest();
sender.send(request);
}

private DefaultEmailNotifyRequest prepareRequest() {
DefaultEmailNotifyRequest request = new DefaultEmailNotifyRequest();
// seashell数据库中的表NOTIFICATIONTEMPLATE ID,记录内容为freemarker格式的短信内容模板.
// 新增模板请发邮件到pmd_inf@99bill.com
request.setTemplateId(39);
// request.setNotificationOwner(21);
// request.setNotifyType(1);
// 邮件通知接收者,可以调用此方法加入多个接收者
request.addRecvAddress("xxxx@163.com");
Map para = new HashMap();
para.put("PAYERNAME", "test");
para.put("MONTH", "test");
para.put("DAY", "test");
para.put("PAYEENAME", "test");
para.put("TRANSAMOUNT", "test");
para.put("ORDERSEQID", 1234567890);
para.put("TRANSAMOUNT", "test");
para.put("PAYERIDCONTENT", "test");
para.put("PAYERNAME", "test");
para.put("PAYERMEMBERACCTNAME", "test");
para.put("PAYEENAME", "test");
para.put("DATE", "test");
para.put("REMARK", "test");
request.setParameters(para);
request.addAttachments("http://www.baidu.com/");
// 解析freemarker模板用的kv参数,如果模板解析错误,将无法发送短信,服务端将抛弃这次请求
return request;

}

private void send(final DefaultEmailNotifyRequest request) {
getJmsTemplate().send(MAIL_QUEUE, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
ObjectMessage objectMessage = session.createObjectMessage(request);
return objectMessage;
}
});
System.out.println("sending mail complet");
}

private JmsTemplate getJmsTemplate() {
ApplicationContext ctx = new ClassPathXmlApplicationContext("context/context-notify-sms.xml");
JmsTemplate jmsTemplate = (JmsTemplate) ctx.getBean("jmsTemplate");
return jmsTemplate;
}

}

spring配置文件内容如下:

<beans>
<import resource="classpath:context/envPropertyLoader.xml"/>
<!-- 配置JmsTemplate组件 -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="pooledConnectionFactory" />
<property name="sessionTransacted" value="true" />
<property name="sessionAcknowledgeModeName" value="SESSION_TRANSACTED" />
</bean> 

<!-- 新增Pooled Connection Factory -->
<bean id="pooledConnectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<property name="targetConnectionFactory" ref="seashellConnectionFactory" />
<property name="sessionCacheSize" value="5" />
</bean>

<bean id="seashellConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName" value="${notify.connection.factory.jndiname}" />
</bean>
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">${notify.java.naming.factory.initial}</prop>
<prop key="java.naming.security.principal">${notify.java.naming.security.principal}</prop>
<prop key="java.naming.security.credentials">${notify.java.naming.security.credentials}</prop>
<prop key="java.naming.provider.url">${notify.java.naming.provider.url}</prop>
</props>
</property>
</bean>
</beans>

最小依赖jar如下:

commons-logging-1.1.1.jar
if-enumhelper-4.3.1.jar
if-notification-4.3.38.jar
jms-6.0.jar
spring-2.5.5.jar
tibjms-jdk1.4-1.0.jar

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值