⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 emailservice.java

📁 是一个用Java编写的可以完成邮件群发功能的程序
💻 JAVA
字号:
package net.txl3.service;



import java.util.Date;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;

import sun.misc.BASE64Encoder;


/**
 * 邮件
 * @author Administrator
 *
 */
public class EmailService {

		/**
	     * 得到properties配置文件
	     * @return
	     */
	protected Properties getProps(){
	    	// 得到配置文件的值
			Properties props = new Properties(System.getProperties());
			try {
				props.load(getClass().getResourceAsStream(
						"/net/txl3/common/sendmail.properties"));
			} catch (Exception e) {
			}
			return props;
	}
    /**
     * 发送单个邮件
     * @param toaddr 接收邮件地址
     * @param title 邮件标题
     * @param sendtext 邮件内容
     * @param attachPath 邮件附件路径
     * @param attachName 邮件附件名
     * @throws Exception
     */
    public void sendMail(String toaddr,String title,String sendtext,String attachPath,String attachName) throws Exception{
    	Properties prp = this.getProps();
        Properties props = new Properties();//创建属性对象
        props.put("mail.smtp.host", prp.getProperty("host"));//设置smtp服务器地址 
        props.put("mail.smtp.auth", "false");//设置服务器smtp需要验证 
        Session session = Session.getInstance(props, null);//创建新邮件并群发 
        //Session session = Session.getDefaultInstance(props);
        //session.setDebug(true);
        MimeMessage message = new MimeMessage(session);//创建过程对象
        message.setFrom(new InternetAddress(prp.getProperty("fromadd")));
       
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(toaddr));
        BASE64Encoder enc = new BASE64Encoder();
        //message.setSubject(getTitle());//设置主题
        message.setSubject(MimeUtility.encodeText(title,"GBK","B"));
        Multipart multipart = new MimeMultipart();
        BodyPart contentPart = new MimeBodyPart();
        contentPart.setContent(sendtext, "text/html;charset=GBK");//设置信件内容
        multipart. addBodyPart(contentPart);
        if(attachPath != null && attachName != null){
            BodyPart attachmentPart= new MimeBodyPart();
            DataSource source = new FileDataSource(attachPath);            
            attachmentPart.setDataHandler(new DataHandler(source));
          // BASE64Encoder enc = new BASE64Encoder();
            attachmentPart.setFileName("=?GBK?B?"+enc.encode(attachName.getBytes())+"?=");
            multipart.addBodyPart(attachmentPart);
        }
        message.setContent(multipart);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(prp.getProperty("host"), prp.getProperty("username"), prp.getProperty("password"));
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
   /**
    * 群发邮件
    * @param MutliTo  群发用户
    * @param title 邮件标题
    * @param sendtext 邮件内容
    * @param attachPath 邮件附件路径
    * @param attachName 邮件附件名
    * @throws Exception
    */
    public void sendMails(String []MutliTo,String title,String sendtext,String attachPath,String attachName ) throws Exception{
    	Properties prp = this.getProps();
        Properties props = new Properties();//创建属性对象
        props.put("mail.smtp.host", prp.getProperty("host"));//设置smtp服务器地址 
        props.put("mail.smtp.auth", "false");//设置服务器smtp需要验证 
        Session session = Session.getInstance(props, null);//创建新邮件并群发 
        //Session session = Session.getDefaultInstance(props);
        //session.setDebug(true);
        MimeMessage message = new MimeMessage(session);//创建过程对象
        message.setFrom(new InternetAddress(prp.getProperty("fromadd")));//设置发送邮件地址
        message.setSentDate(new Date());//设置时间
        InternetAddress[] address = new InternetAddress[MutliTo.length]; //群发地址 
        for(int i = 0; i < MutliTo.length; i++) { //循环发送 
        	address[i] = new InternetAddress((MutliTo)[i]);
       	} 
     	message.setRecipients(Message.RecipientType.TO, address); 
     	 BASE64Encoder enc = new BASE64Encoder();
     	//message.addRecipient(Message.RecipientType.TO,new InternetAddress(getToAddr()));
        //message.setSubject(getTitle());//设置主题
        message.setSubject(MimeUtility.encodeText(title,"GBK","B"));//设置主题 解决中文乱码问题
        
        Multipart multipart = new MimeMultipart();
        BodyPart contentPart = new MimeBodyPart();
        contentPart.setContent(sendtext, "text/html;charset=GBK");//设置信件内容
        multipart. addBodyPart(contentPart);
        if(attachPath != null && attachName!= null){
            BodyPart attachmentPart= new MimeBodyPart();
            DataSource source = new FileDataSource(attachPath);
            attachmentPart.setDataHandler(new DataHandler(source));
            //BASE64Encoder enc = new BASE64Encoder();
            attachmentPart.setFileName("=?GBK?B?"+enc.encode(attachName.getBytes())+"?=");
            multipart.addBodyPart(attachmentPart);
        }
        message.setContent(multipart);
        message.saveChanges();
        Transport transport = session.getTransport("smtp");
        transport.connect(prp.getProperty("host"), prp.getProperty("username"), prp.getProperty("password"));
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -