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

📄 sendmail.java

📁 这是一个用jsp+Oracle开发的联系人客户关系管理系统!
💻 JAVA
字号:
package com.test;

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;

public class SendMail
{
	private String smtphost;								//SMTP转发服务器
	private String smtpuser;								//SMTP转发的用户名
	private String smtppassword;							//SMTP转发的密码
	private String from;									//发件人
	private String to;										//收件人
	private String subject;									//邮件标题
	private String body;									//邮件内容
	private String bodystyle = "text/plain;charset=GB2312";	//邮件内容的格式(默认为文本格式)
	private String filename;								//附件的文件名
	private Vector file = new Vector();						//用于保存发送附件的文件名的集合

	/**用于返回SMTP转发服务器*/
	public String getSmtphost()
	{
		return smtphost;
	}

	/**用于设置SMTP转发服务器*/
	public void setSmtphost(String inString)
	{
		smtphost = inString;
	}

	/**用于返回SMTP用户名*/
	public String getSmtpuser()
	{
		return smtpuser;
	}

	/**用于设置SMTP用户名*/
	public void setSmtpuser(String inString)
	{
		smtpuser = inString;
	}

	/**用于返回SMTP密码*/
	public String getSmtppassword()
	{
		return smtppassword;
	}

	/**用于设置SMTP密码*/
	public void setSmtppassword(String inString)
	{
		smtppassword = inString;
	}

	/**用于返回发件人*/
	public String getFrom()
	{
		return from;
	}

	/**用于设置发件人*/
	public void setFrom(String inString)
	{
		from = inString;
	}

	/**用于返回收件人*/
	public String getTo()
	{
		return to;
	}

	/**用于设置收件人*/
	public void setTo(String inString)
	{
		to = inString;
	}

	/**用于返回邮件标题*/
	public String getSubject()
	{
		return subject;
	}

	/**用于设置邮件标题*/
	public void setSubject(String inString)
	{
		subject = inString;
	}

	/**用于返回邮件内容*/
	public String getBody()
	{
		return body;
	}

	/**用于设置邮件内容*/
	public void setBody(String inString)
	{
		body = inString;
	}

	/**用于返回邮件内容的格式*/
	public String getBodyStyle()
	{
		return bodystyle;
	}

	/**用于设置邮件内容的格式*/
	public void setBodyStyle(String inString)
	{
		bodystyle = inString;
	}

	/**用于返回附件的文件名*/
	public void attachfile(String fname)
	{
		file.addElement(fname);
	}

	/**发送邮件*/
	public boolean send()
	{
		boolean result;

		if(smtphost==""||smtphost==null)
		{
			System.out.println("An error ocer:smtphost is invalid!");
			return false;
		}
		if(from==""||from==null)
		{
			System.out.println("An error ocer:main sender is invalid!");
			return false;
		}
		if(to==""||to==null)
		{
			System.out.println("An error ocer:mail receiver is invalid!");
			return false;
		}
		if(subject==""||subject==null)
		{
			System.out.println("An error ocer:subject is invalid!");
			return false;
		}

		Properties props = System.getProperties();
		if(smtpuser==""||smtpuser==null||smtppassword==""||smtppassword==null)
		{
			props.put("mail.smtp.host",smtphost);
		}
		else
		{
			props.put("mail.smtp.auth","true");
		}

		Session session = Session.getInstance(props,null);
		try
		{
			MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(from));
			InternetAddress[] address = {new InternetAddress(to)};
			msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(to));
			msg.setSubject(subject);

			Multipart mp = new MimeMultipart();//BodyPart将加入
			Enumeration efile = file.elements();
			while(efile.hasMoreElements())
			{
				MimeBodyPart mbp = new MimeBodyPart();
				filename = efile.nextElement().toString();//选择出每一个附件名
				FileDataSource fds = new FileDataSource(filename);//得到数据源
				mbp.setDataHandler(new DataHandler(fds));//得到附件本身并植入BodyPart
				mbp.setFileName(fds.getName());//得到文件名同样植入BodyPart
				mp.addBodyPart(mbp);
			}

			file.removeAllElements();//一走集合中的所有元素
			MimeBodyPart mbp_body = new MimeBodyPart();
			mbp_body.setContent(body,bodystyle);//加入邮件正文
			mp.addBodyPart(mbp_body);
			msg.setContent(mp);//Multipart加入到信件
			msg.setSentDate(new Date());//设置信件头的发送日期

			if(smtpuser==""||smtpuser==null||smtppassword==""||smtppassword==null)
			{
				Transport.send(msg);//发送信件
			}
			else
			{
				Transport trans = session.getTransport("smtp");
				trans.connect(smtphost,smtpuser,smtppassword);
				trans.sendMessage(msg,msg.getAllRecipients());//发送信件
				trans.close();
			}
			result = true;
		}
		catch(MessagingException mex)
		{
			mex.printStackTrace();
			Exception ex = null;
			if((ex=mex.getNextException())!=null)
			{
				ex.printStackTrace();
			}
			result = false;
		}
		return result;
	}

	public static void main(String []args)
	{
		SendMail mymail = new SendMail();
		mymail.setSmtphost("1");
		mymail.setSmtpuser("1");
		mymail.setSmtppassword("1");
		mymail.setFrom("1");
		mymail.setTo("1");
		mymail.setSubject("1");
		mymail.setBody("1");
		mymail.setBodyStyle("1");
		mymail.attachfile("");
		mymail.send();
	}
};

⌨️ 快捷键说明

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