springMail的发送带有附件的邮件

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

}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值