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();
}
}
}