我用javaMail开发了一个邮件系统,收发邮件、各种邮件夹操作都没有问题。
为降低系统的耦合性,用xFire对上述邮件系统进行封装,以对外提供web服务。封装后,发邮件没有问题,但是接收邮件却报错,提示:
no authenticate invalid userid/password
javax.mail.authenticationfailedexception:authenticate invalid userid/password
提示验证错误,但用户名、密码都没有问题,而且在使用xFire前都是好的。不知是什么原因?请指点,多提建议。。
为降低系统的耦合性,用xFire对上述邮件系统进行封装,以对外提供web服务。封装后,发邮件没有问题,但是接收邮件却报错,提示:
no authenticate invalid userid/password
javax.mail.authenticationfailedexception:authenticate invalid userid/password
提示验证错误,但用户名、密码都没有问题,而且在使用xFire前都是好的。不知是什么原因?请指点,多提建议。。
解决方案 »
- JavaScript中如何调用对象的某个属性,在线等。。。
- javascript 设置cookie java读取cookie,email丢失@和域名
- 你好,请教一下,我在页面调用bean画图(生成png图片),那么我怎样及时知道我得图画完了呢?
- jbuilder与eclipse在开发J2EE方面到底哪个好?
- 54260683 java web 高级交流群。欢迎大家加入
- 非常easy进来就给分
- 高分求解dbf导入sqlserver
- 一个关于在jsp中创建计数器的问题————请高手帮忙看一下!
- 请问在JSP里面怎样将字符'2001-07-24 13:10' 转化成日期型数据,并对两个日期怎样进行比较?
- socket能传递吗?
- 求救!!初级入门问题,代码如下
- 求助, 一个概率问题。
protocolConnect login,host=23.20.19.80,[email protected],password=<non-null>
用户名与密码都没有问题是不是xFire传递密码还有什么特别的地方?
import com.sun.mail.pop3.POP3Folder;
import com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeUtility;public class receMailImpl implements IreceMail {
public void rece(String receServer,String receName,String recePwd,String typeIndex,String folderName)
{
Folder folder = getFolder(receServer, receName, recePwd,typeIndex,folderName);
}
//返回相应属性的Folder
public Folder getFolder(String receServer,String receName,String recePwd,String typeIndex,String folderName)
{
String foldername = "INBOX";//定义默认收件夹
String typeStore = "";
if(typeIndex=="0")
typeStore = "pop3";
else
{
typeStore = "imap";
foldername = folderName;
}
Store store=null;
Folder folder=null;
//创建Properties
Properties props=System.getProperties();
///这是后来添加的部分
props.put("mail.transport.protocol","smtp");
props.put("mail.debug","true");
if(typeIndex == "0")
{props.put("mail.store.protocol","pop3");}
else
{props.put("mail.store.protocol","imap");}
//创建Session
MyAu auth=new MyAu(receName,recePwd);
Session session=Session.getDefaultInstance(props,auth);
session.setDebug(true);
try
{
store=session.getStore(typeStore);
store.connect(receServer,receName,recePwd);
folder=store.getFolder(foldername);
if(folder==null)
{
throw new Exception(foldername + "is not exists");
}
folder.open(Folder.READ_WRITE);
}
catch (Exception e)
{
e.printStackTrace();
}
return folder;
}
}
其中,上述getFolder用于获取邮件夹,经过测试成功。receMailImpl类为web服务接口实现类,其rece方法用于封闭getFolder方法。错误提示如下:DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[STORE,imap,com.sun.mail.imap.IMAPStore,Sun Microsystems, Inc]
DEBUG: mail.imap.fetchsize: 16384
* OK IMAP4 Server (IMail 8.10)
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=CRAM-MD5 AUTH=PLAIN AUTH=LOGIN
A0 OK CAPABILITY completed
IMAP DEBUG: AUTH: CRAM-MD5
IMAP DEBUG: AUTH: PLAIN
IMAP DEBUG: AUTH: LOGIN
DEBUG: protocolConnect login, host=25.90.64.116, user=guojinhuai@PC118, password=<non-null>
A1 AUTHENTICATE PLAIN
+ VXNlcm5hbWU6
Z3VvamluaHVhaUBQQzExOABndW9qaW5odWFpQFBDMTE4ADEyMzQ1Ng==
A1 NO AUTHENTICATE Invalid userid/password
* OK IMAP4 Server (IMail 8.10)
A0 CAPABILITY
* CAPABILITY IMAP4 IMAP4rev1 AUTH=CRAM-MD5 AUTH=PLAIN AUTH=LOGIN
A0 OK CAPABILITY completed
IMAP DEBUG: AUTH: CRAM-MD5
IMAP DEBUG: AUTH: PLAIN
IMAP DEBUG: AUTH: LOGIN
DEBUG: protocolConnect login, host=25.90.64.116, user=guojinhuai@PC118, password=<non-null>
A1 AUTHENTICATE PLAIN
+ VXNlcm5hbWU6
Z3VvamluaHVhaUBQQzExOABndW9qaW5odWFpQFBDMTE4ADEyMzQ1Ng==
A1 NO AUTHENTICATE Invalid userid/password
javax.mail.AuthenticationFailedException: AUTHENTICATE Invalid userid/password
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:474)
at javax.mail.Service.connect(Service.java:297)
at javax.mail.Service.connect(Service.java:156)
at method.receMailImpl.getFolder(receMailImpl.java:70)
at method.receMailImpl.rece(receMailImpl.java:36)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)