您的位置:首页 > 编程语言 > Java开发

springMail的发送带有附件的邮件

2012-08-12 19:43 337 查看
package cn.itcast.sender;

import java.io.UnsupportedEncodingException;

import java.util.Date;

import java.util.Properties;

import javax.mail.MessagingException;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import org.springframework.core.io.ClassPathResource;

import org.springframework.core.io.FileSystemResource;

import org.springframework.mail.javamail.JavaMailSenderImpl;

import org.springframework.mail.javamail.MimeMessageHelper;

import com.sun.xml.messaging.saaj.packaging.mime.internet.MimeUtility;

public class MimeMessageHelperTest {

public static void sendMail() throws MessagingException, UnsupportedEncodingException

{

/*

* <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">

<property name="host">

<value>smtp.163.com</value>

</property>

<property name="javaMailProperties">

<props>

<prop key="mail.smtp.auth">true</prop>

<prop key="mail.smtp.timeout">25000</prop>

<prop key="mail.smtp.socketFactory.fallback">false</prop>

<prop key="mail.smtp.starttls.enable">true</prop>

<!-- 这里是配置ssl 主要是个,Gmail

<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>

-->

</props>

</property>

<property name="username">

<value>gaowm0207</value>

</property>

<property name="password">

<value>5342488</value>

</property>

<property name="port">

<value>25</value>

</property>

<!-- Gmail端口

<property name="port">

<value>465</value>

</property>

-->

</bean>

*/

//这种方式还是不能发送给qq邮箱

//这是一个发送邮件的类

JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

//这是设置发送邮件的服务器,一旦指定,那么下面设置的发送者就必须是这种类型的邮箱,像这里是163邮箱服务器,那么下面的

//发送者就必须要是163邮箱

senderImpl.setHost("smtp.163.com");

senderImpl.setPort(25);

//这是设置邮箱的验证

Properties properties = new Properties();

properties.setProperty("mail.smtp.auth", "true");

senderImpl.setJavaMailProperties(properties);

//这是邮箱的用户名

senderImpl.setUsername("ch469299503");

//这是邮箱密码

senderImpl.setPassword("CH13410084766");

//这是通过senderImp得到邮箱的信息

MimeMessage mimeMessage = senderImpl.createMimeMessage();

//这是通过封装mimeMessage,记得一定要带上后面的参数(第二个参数,否则会不成功的)

MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

//这是设置邮件的主题

helper.setSubject("带有附件的邮件");

//这是设置发送的时间

helper.setSentDate(new Date());

//这是设置邮件的发送者

helper.setFrom(new InternetAddress("ch469299503@163.com"));

//这是设置邮件的接受者ch900915caohuan@163.com

helper.setTo(new InternetAddress("ch900915caohuan@163.com"));

//这是邮箱的内容

helper.setText("这就是内容,真的很爱你");

//这是添加附件

// java.io.File dataSource = new java.io.File("d:\\ibatis-3-core-3.0.0.208.jar");

ClassPathResource classPathResource = new ClassPathResource("mianshi.jpg");

// FileSystemResource dataSource = new FileSystemResource("d:\\ibatis-3-core-3.0.0.208.jar");

//第一个参数是防止发送邮件的时候,接收方收到的附件的名字出现乱码

helper.addAttachment(MimeUtility.encodeWord("mianshi.jpg"), classPathResource);

//这是发送邮件

senderImpl.send(mimeMessage);

}

public static void main(String[] args) {

try {

try {

sendMail();

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} catch (MessagingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐