论坛首页 入门技术论坛

javamail验证问题

浏览 3056 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-04-07  
package com.effectivebiz.mgt.mail.service;

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

/**
 * <p>
 * Title: 使用javamail发送邮件
 * </p>
 * <p>
 * Description: 演示如何使用javamail包发送电子邮件。这个实例可发送多附件
 * </p>
 * <p>
 * Copyright: Copyright (c) 2003
 * </p>
 * <p>
 * Filename: Mail.java
 * </p>
 * 
 * @version 1.0
 */
public class Mail {

	String to = "";// 收件人

	String from = "";// 发件人

	String host = "";// smtp主机

	String username = "";

	String password = "";

	String filename = "";// 附件文件名

	String subject = "";// 邮件主题

	String content = "";// 邮件正文

	Vector file = new Vector();// 附件文件集合

	/**
	 * <br>
	 * 方法说明:默认构造器 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public Mail() {
	}

	/**
	 * <br>
	 * 方法说明:构造器,提供直接的参数传入 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public Mail(String to, String from, String smtpServer, String username,
			String password, String subject, String content) {
		this.to = to;
		this.from = from;
		this.host = smtpServer;
		this.username = username;
		this.password = password;
		this.subject = subject;
		this.content = content;
	}

	/**
	 * <br>
	 * 方法说明:设置邮件服务器地址 <br>
	 * 输入参数:String host 邮件服务器地址名称 <br>
	 * 返回类型:
	 */
	public void setHost(String host) {
		this.host = host;
	}

	/**
	 * <br>
	 * 方法说明:设置登录服务器校验密码 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setPassWord(String pwd) {
		this.password = pwd;
	}

	/**
	 * <br>
	 * 方法说明:设置登录服务器校验用户 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setUserName(String usn) {
		this.username = usn;
	}

	/**
	 * <br>
	 * 方法说明:设置邮件发送目的邮箱 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setTo(String to) {
		this.to = to;
	}

	/**
	 * <br>
	 * 方法说明:设置邮件发送源邮箱 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setFrom(String from) {
		this.from = from;
	}

	/**
	 * <br>
	 * 方法说明:设置邮件主题 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setSubject(String subject) {
		this.subject = subject;
	}

	/**
	 * <br>
	 * 方法说明:设置邮件内容 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public void setContent(String content) {
		this.content = content;
	}

	/**
	 * <br>
	 * 方法说明:发送邮件 <br>
	 * 输入参数: <br>
	 * 返回类型:boolean 成功为true,反之为false
	 */
	public boolean sendMail() {

		// 构造mail session
		Properties props = System.getProperties();
		props.put("mail.smtp.host", host);
		props.put("mail.smtp.auth", "true");
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					public PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(username, password);
					}
				});

		try {
			session.setDebug(true);
			Store store = session.getStore("pop3");
			store.connect();
		} catch (AuthenticationFailedException ae) {
			ae.printStackTrace();
			System.out.println("ddddddddddddddddddddddd");
			return false;
		} catch (MessagingException mex) {
			mex.printStackTrace();
			Exception ex = null;
			if ((ex = mex.getNextException()) != null) {
				ex.printStackTrace();
			}
			return false;
		}
		return true;
	}

	/**
	 * <br>
	 * 方法说明:主方法,用于测试 <br>
	 * 输入参数: <br>
	 * 返回类型:
	 */
	public static void main(String[] args) {
		Mail sendmail = new Mail();
		sendmail.setHost("smtp.126.com");
		sendmail.setUserName("douliw@126.com");
		sendmail.setPassWord("*****");
		sendmail.setTo("douliw@126.com");
		sendmail.setFrom("douliw@126.com");
		sendmail.setSubject("你好,这是测试!");
		sendmail.setContent("你好这是一个带多附件的测试!");
		sendmail.sendMail();

	}
}



输出:
DEBUG: setDebug: JavaMail version 1.3
DEBUG: getProvider() returning javax.mail.Provider[STORE,pop3,com.sun.mail.pop3.POP3Store,Sun Microsystems, Inc]
ddddddddddddddddddddddd
javax.mail.AuthenticationFailedException
at javax.mail.Service.connect(Service.java:264)
at javax.mail.Service.connect(Service.java:134)
at javax.mail.Service.connect(Service.java:86)
at com.effectivebiz.mgt.mail.service.Mail.sendMail(Mail.java:163)
at com.effectivebiz.mgt.mail.service.Mail.main(Mail.java:198)
我只想验证用户名和密码的正确性?
   发表时间:2008-04-08  
问题已解决,还有个问题,就是用javamail不发邮件如何判断发邮件的用户名和密码的正确与否
0 请登录后投票
   发表时间:2008-10-09  
你的问题怎么解决的啊?我的老是有验证失败异常.
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics