浏览 3056 次
锁定老帖子 主题:javamail验证问题
精华帖 (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) 我只想验证用户名和密码的正确性? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-04-08
问题已解决,还有个问题,就是用javamail不发邮件如何判断发邮件的用户名和密码的正确与否
|
|
返回顶楼 | |
发表时间:2008-10-09
你的问题怎么解决的啊?我的老是有验证失败异常.
|
|
返回顶楼 | |