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();
}
}
}
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();
}
}
}
相关文章推荐
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- MailBee.NET Objects发送电子邮件(SMTP)教程六:创建并发送带有附件的邮件
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- 关于javaMail的发送邮件之简便方法(邮件带有附件及html内容中携带图标)
- 《pro Spring》学习笔记之使用Spring+James邮件服务器发送带有附件的HTML邮件
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- Spring 发送带有内嵌图片和附件的邮件的java程序
- 利用spring mail 发送带附件的邮件
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板
- java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html
- Spring代码实例系列-10:通过Spring Mail发送简单邮件、附件和HTML邮件
- 当使用Outlook2007发送邮件时,收件人收到名为Winmail.dat的附件
- Spring+javamail+velocity发送邮件
- 带有附件及图片正文的JavaMail邮件发送
- Spring JavaMailSenderImpl发送邮件时中文乱码处理