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

📄 sendmailtest.java

📁 java应用开发详解
💻 JAVA
字号:
import java.util.* ; 
import java.io.*; 
import javax.mail.* ; 
import javax.mail.internet.*; 
import javax.activation.*; 

public class SendMailTest
{ 
	//定义收件人、发送人、主题等 
	String to="",from="",host="",filename="",messagetext="",subject=""; 
	boolean debug=true; 
	//保存发送的文件名 
	Vector vfile = new Vector(10,10); 
	//保存发送的正文 
	Vector vmsg = new Vector(10,10); 

	public static void main(String[] args) 
	{ 
		System.err.println("sendMailtest main() method is start!!!");
		try
		{
			SendMailTest sendmail=new SendMailTest("mellon@localhost","fujie@localhost","localhost"); 
			
			//设置一个主题
			sendmail.setSubject("this is a test");
			//添加一个附件
			sendmail.attachfile("SendMailTest.java"); 
			//添加第二个附件
			sendmail.attachfile("SendMailTest.class"); 
			//添加一个消息
			sendmail.setMessage("send a file"); 
			//添加第二个消息
			sendmail.setMessage("send a javafile"); 
			//发送邮件
			sendmail.startSend(); 
		}
		catch(Exception e)
		{
			System.out.println("send mail fail!!!");
		}
		System.err.println("ok!!! send successed!!!");
	} 

	public SendMailTest() 
	{} 
	public SendMailTest(String to,String from,String smtpServer) 
	{ 
		//初始化收件人、发送人
		this.to=to; 
		this.from=from; 
		this.host=smtpServer;  
	} 
	
	public void setSubject(String subject) 
	{ 
		this.subject=subject; 
	}

	//收集附加文件 
	public void attachfile(String fname) 
	{ 
		vfile.addElement(fname); 
	} 

	//收集邮件正文 
	public void setMessage(String msg) 
	{ 
		vmsg.addElement(msg); 
	} 

	//设置调试标志 
	public void setDebug(boolean debug) 
	{ 
		this.debug=debug; 
	} 
	
	//邮件发送函数 
	public boolean startSend() 
	{ 
		Properties props = System.getProperties(); 
		props.put("mail.smtp.host", host); 
		Session session=Session.getDefaultInstance(props, null); 
		session.setDebug(debug); 
		try 
		{ 

			//创建一个MIME消息,并初始化该消息的各项元素 
			MimeMessage msg = new MimeMessage(session); 
			
			//设置发送人
			msg.setFrom(new InternetAddress(from)); 
			
			//设置接收人
			InternetAddress[] address={new InternetAddress(to)}; 
			msg.setRecipients(Message.RecipientType.TO,address);
			
			//设置主题 
			msg.setSubject(subject); 

			//把message part加入新创建的Multipart 
			Multipart mp = new MimeMultipart(); 
			
			// 邮件内容的正文部分 
			// 每一部分作为一个MimeBodyPart存在
			Enumeration emsg=vmsg.elements(); 
			while(emsg.hasMoreElements()) 
			{ 
				messagetext=emsg.nextElement().toString(); 
				MimeBodyPart mbp1=new MimeBodyPart(); 
				mbp1.setText(messagetext); 
				mp.addBodyPart(mbp1); 
			} 
			vmsg.removeAllElements(); 

			// 邮件内容的附件部分 
			// 每一部分作为一个MimeBodyPart存在
			Enumeration efile=vfile.elements(); 
			while(efile.hasMoreElements()) 
			{ 
				MimeBodyPart mbp2=new MimeBodyPart(); 
				filename=efile.nextElement().toString();
				
				//文件输入流
 				FileDataSource fds=new FileDataSource(filename);
 				
 				//设置文件名
  				mbp2.setDataHandler(new DataHandler(fds)); 
				mbp2.setFileName(fds.getName()); 
				mp.addBodyPart(mbp2); 
			} 
			vfile.removeAllElements(); 
			
			// 把MultiPart加入邮件 
			msg.setContent(mp); 
			// 设置邮件头的发送日期 
			msg.setSentDate(new Date()); 
			// 发送邮件 
			Transport.send(msg); 
		}
		catch (MessagingException mex) 
		{ 

			mex.printStackTrace(); 
			Exception ex = null; 
			if ((ex=mex.getNextException())!=null) 
			{ 
				ex.printStackTrace(); 
			} 

			return false; 
		} 

		return true; 
	}


}

⌨️ 快捷键说明

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