您好,欢迎访问一九零五行业门户网

请问,用Javamail发送的邮件能不能删除掉?

大哥, 我用javamail实现了发送邮件, 能不能发送出去的邮件不要显示在已发送文件夹呢?
能删除掉已发送出去的邮件吗?.  谢谢了
回复讨论(解决方案) 在已发送文件夹删除一次。
又是大哥
我是用下面的代码, 在已发送文件夹删除一次有什么代码没有?谢谢,你真好
try {
mstate = none;
properties props = system.getproperties();
props = system.getproperties();
if (mailtype == mailtype.type_gmail) { // 如果为gmail邮箱,需要设置下两项
props.put(mail.smtp.starttls.enable, true);
props.put(mail.smtp.port, 587); // gmail smtp port 587 / 465
}
props.put(mail.smtp.host, msmtp_host);
props.put(mail.smtp.user, mfrom_username);
props.put(mail.smtp.password, mfrom_password);
props.put(mail.smtp.auth, true);
msession = session.getdefaultinstance(props, null);
msession.setdebug(false);
mmimemsg = new mimemessage(msession);
mmimemsg.setfrom(new internetaddress(mfrom_username));
// mmimemsg.setcontent(mcontent, text/html;charset=utf-8);
if (mtoid != null)
setsendtomsg(mtoid);
if (mccid != null)
setcopytomsg(mccid);
if (mbccid != null)
setbcopytomsg(mbccid);
if (msubject != null) {
mmimemsg.setsubject(msubject);
}
if (mshow_name != null) {
mmimemsg.setfrom(new internetaddress(mshow_name +  + mfrom_username + >));
}
if (mcontent != null) {
setcontentmp(mcontent);
mmimemsg.setcontent(mp);
}
if (mfilepath != null) {
addfile(mfilepath);
}
system.out.println(mmimemsg.getallrecipients().tostring());
transport transport = msession.gettransport(smtp);
system.out.println(connecting...);
mstate = connecting;
transport.connect(msmtp_host, mfrom_username, mfrom_password);
//
if(!transport.isconnected())
{
log.i(tag, connect failure);
return;
}
mstate = connected;
log.i(tag, connected to  + mfrom_username +  succuss);
system.out.println(sending...);
mstate = sending;
transport.sendmessage(mmimemsg, mmimemsg.getallrecipients());
mstate = sended;
transport.close();
} catch (exception e) {
system.out.println(failure! );
log.d(tag,  failure! , e);
e.printstacktrace();
}
先用
folder defaultfolder = store.getdefaultfolder();
folder[] allfolder = defaultfolder.list();
获取有什么文件夹,然后根据列表中的文件夹名getfolder
store store= session.getstore(pop3);store.connect(host,username, password);folder folder = store.getfolder(文件夹路径); // 这里根据所选文件夹删除folder.open(folder.read_write);//注意这里与读取时的区别message message[] = folder.getmessages();bufferedreader reader = new bufferedreader ( new inputstreamreader(system.in));for(int i=0;i 有两个问题
1。 folder folder = store.getfolder(文件夹路径);
 //文件夹路径里收件箱是“inbox”,已发送是“sendbox”?  
2。message[i].setflag(flags.flag.deleted, true);
//是局部变量, 它的变化好像没反应到邮件服务器?
多谢提供代码
补允:bufferedreader reader is not used ,是不是这里要怎么用一下
有两个问题
1。 folder folder = store.getfolder(文件夹路径);
 //文件夹路径里收件箱是“inbox”,已发送是“sendbox”?  
2。message[i].setflag(flags.flag.deleted, true);
//是局部变量, 它的变化好像没反应到邮件服务器?
多谢提供代码
folder defaultfolder = store.getdefaultfolder();
folder[] allfolder = defaultfolder.list();
在这里找。
参考下: http://www.alixixi.com/program/a/2008020835375.shtml
folder defaultfolder = store.getdefaultfolder(); 只能获得一个“inbox”
看有个文章说pop3协议下getfolder(name)只支持“inbox”:
getfolder
public folder getfolder(java.lang.string name)
                 throws messagingexception
only the name inbox is supported.
试用了imap,就可以得到所有的文件夹:”inbox, 草稿箱, 已发送, 已删除, 垃圾邮件, 广告邮件“
而我不想用imap,用pop3是没办法得到“已发送”邮件呢?
pop3得到?件箱?件貌似不行。
http://bbs.csdn.net/topics/10021225
我在想outlook,  foxmail 是怎么在不开通imap协议情况下实现的呢? 谢谢你了
其它类似信息

推荐信息