jsp发送邮件程序

时间:2021-10-09 18:08:45
jsp发送邮件程序//要把用户的注册邮箱存在数据库,然后用javamail发送过去。
jsp发送邮件程序

jsp发送邮件程序
import java.util.*
jsp发送邮件程序
import java.io.*
jsp发送邮件程序
import javax.mail.*
jsp发送邮件程序
import javax.mail.internet.*
jsp发送邮件程序
import javax.activation.*
jsp发送邮件程序
public class javaMail 
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
private boolean bAuth =false//SMTP服务器是否需要认证
jsp发送邮件程序
private Vector vfile = new Vector(10,10); //附件列表变量
jsp发送邮件程序
private Vector vmsg = new Vector(10,10); //信息体变量
jsp发送邮件程序

jsp发送邮件程序
public String from="pdms@amoi.com.cn"//邮件发送者
jsp发送邮件程序
private String to=""//邮件接收者
jsp发送邮件程序
public static String smtpHost="10.100.51.12"//邮件服务器
jsp发送邮件程序
private String context=""//邮件正文
jsp发送邮件程序
private String subject=""//邮件主题
jsp发送邮件程序
private String uid=""//邮件帐号
jsp发送邮件程序
private String pwd=""//邮件密码
jsp发送邮件程序
private String filename=""//附件路径
jsp发送邮件程序
public class SmtpAuth extends Authenticator //一个发信认证类
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
public String User;
jsp发送邮件程序
public String Pass;
jsp发送邮件程序
public SmtpAuth(String user,String pass)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
this.User = user;
jsp发送邮件程序
this.Pass = pass;
jsp发送邮件程序}

jsp发送邮件程序
protected PasswordAuthentication getPasswordAuthentication()
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
return new PasswordAuthentication(User,Pass);
jsp发送邮件程序}

jsp发送邮件程序}

jsp发送邮件程序
public boolean isValidEmail(String s)//利用正则表达表判断是否是用效的Email地址
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
if(s==null) s="";
jsp发送邮件程序String regx 
= "/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*";
jsp发送邮件程序
if(s.matches(regx))
jsp发送邮件程序
return true;
jsp发送邮件程序
else
jsp发送邮件程序
return false;
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序
public void AddAttach(String s) //收集附加文件 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序
if(s!=null)
jsp发送邮件程序vfile.addElement(s); 
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序
private void setMessage(String s) //收集邮件正文 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序
if(s!=null)
jsp发送邮件程序vmsg.addElement(s); 
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序
//发送带认证邮件
jsp发送邮件程序
public boolean sendMail(String To,String Subject,String Content,String Uid,String Pwd)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序to
=To; 
jsp发送邮件程序subject
=Subject;
jsp发送邮件程序setMessage(Content);
jsp发送邮件程序uid 
= Uid;
jsp发送邮件程序pwd 
= Pwd;
jsp发送邮件程序bAuth 
= true;
jsp发送邮件程序
return startSend();
jsp发送邮件程序}

jsp发送邮件程序
//发送不带认证邮件
jsp发送邮件程序
public boolean sendMail(String To,String Subject,String Content)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序to
=To; 
jsp发送邮件程序subject
=Subject;
jsp发送邮件程序setMessage(Content);
jsp发送邮件程序bAuth 
= false;
jsp发送邮件程序
return startSend();
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序jsp发送邮件程序
public javaMail(){}
jsp发送邮件程序
//发送邮件过程
jsp发送邮件程序
private boolean startSend()
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序Properties props 
= System.getProperties(); 
jsp发送邮件程序props.put(
"mail.smtp.host", smtpHost); 
jsp发送邮件程序Session session;
jsp发送邮件程序
if(bAuth)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序SmtpAuth sa 
= new SmtpAuth(uid,pwd);
jsp发送邮件程序props.put(
"mail.smtp.auth","true");
jsp发送邮件程序session
=Session.getInstance(props, sa); 
jsp发送邮件程序}

jsp发送邮件程序
else
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序session
=Session.getDefaultInstance(props, null); 
jsp发送邮件程序}

jsp发送邮件程序
try 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序
//创建一个消息,并初始化该消息的各项元素 
jsp发送邮件程序
MimeMessage msg = new MimeMessage(session); 
jsp发送邮件程序msg.setFrom(
new InternetAddress(from)); 
jsp发送邮件程序StringTokenizer st
=new StringTokenizer(to,";");
jsp发送邮件程序InternetAddress toAddress[] 
= new InternetAddress[st.countTokens()];
jsp发送邮件程序
int i=0;
jsp发送邮件程序
while(st.hasMoreTokens())
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序toAddress[i]
= new InternetAddress(st.nextToken());
jsp发送邮件程序i
++;
jsp发送邮件程序}

jsp发送邮件程序msg.setRecipients(Message.RecipientType.TO,toAddress);
jsp发送邮件程序msg.setSubject(subject); 
jsp发送邮件程序
//把message part加入新创建的Multipart 
jsp发送邮件程序
Multipart mp = new MimeMultipart(); 
jsp发送邮件程序
// 邮件内容的第一部分 
jsp发送邮件程序
Enumeration emsg=vmsg.elements(); 
jsp发送邮件程序
while(emsg.hasMoreElements()) 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序context
=emsg.nextElement().toString(); 
jsp发送邮件程序MimeBodyPart mbp1
=new MimeBodyPart(); 
jsp发送邮件程序mbp1.setText(context); 
jsp发送邮件程序mp.addBodyPart(mbp1); 
jsp发送邮件程序}
 
jsp发送邮件程序vmsg.removeAllElements(); 
jsp发送邮件程序
// 邮件内容的第二部分 
jsp发送邮件程序
Enumeration efile=vfile.elements(); 
jsp发送邮件程序
while(efile.hasMoreElements()) 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序MimeBodyPart mbp2
=new MimeBodyPart(); 
jsp发送邮件程序filename
=efile.nextElement().toString(); 
jsp发送邮件程序FileDataSource fds
=new FileDataSource(filename); 
jsp发送邮件程序mbp2.setDataHandler(
new DataHandler(fds)); 
jsp发送邮件程序mbp2.setFileName(fds.getName()); 
jsp发送邮件程序mp.addBodyPart(mbp2); 
jsp发送邮件程序}

jsp发送邮件程序vfile.removeAllElements(); 
// 把MultiPart加入邮件 
jsp发送邮件程序
msg.setContent(mp); // 设置邮件头的发送日期 
jsp发送邮件程序
msg.setSentDate(new Date()); 
jsp发送邮件程序
// 发送邮件 
jsp发送邮件程序
Transport.send(msg); 
jsp发送邮件程序}
 
jsp发送邮件程序
catch (MessagingException mex) 
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序mex.printStackTrace(); 
jsp发送邮件程序Exception ex 
= null
jsp发送邮件程序
if ((ex=mex.getNextException())!=null
jsp发送邮件程序jsp发送邮件程序

jsp发送邮件程序ex.printStackTrace(); 
jsp发送邮件程序}
 
jsp发送邮件程序
return false
jsp发送邮件程序}

jsp发送邮件程序
catch(Exception e)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序System.out.println(
"Catched Exception:"+e.toString());
jsp发送邮件程序
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序
return true
jsp发送邮件程序}

jsp发送邮件程序
jsp发送邮件程序
public static String getSmtpHost()
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序
return smtpHost.trim();
jsp发送邮件程序}

jsp发送邮件程序
public static void setSmtpHost(String mailHost)
jsp发送邮件程序jsp发送邮件程序
{
jsp发送邮件程序smtpHost
=mailHost.trim();
jsp发送邮件程序}