ホームページ >バックエンド開発 >PHPチュートリアル >そこでお聞きしたいのですが、Javamailで送信したメールは削除できるのでしょうか?

そこでお聞きしたいのですが、Javamailで送信したメールは削除できるのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:55:44842ブラウズ

兄弟、Javamail を使用してメールを送信しましたが、送信済みフォルダーにメールが表示されないようにすることはできますか?

送信したメールは削除できますか? . ありがとうございます


ディスカッション(解決策)への返信

送信済みフォルダー内で一度削除してください。

またお兄さん
次のコードを使用して、送信済みフォルダーにあるものを一度削除します。ありがとう、とても親切です
try {
mState = NONE;
Properties = System.getProperties();
if (mailType == MailType.TYPE_GMAIL) { // Gmail メール アドレス、次の 2 つの項目を設定する必要があります
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587"); ; // gmail smtp ポート 587 / 465
}

props.put("mail.smtp.host", mSmtp_host);
props.put("mail.smtp.user", mFrom_userName); 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)

if (mSubject != null)
mMimeメッセージ。 setSubject (mSubject)
}
if (mShow_name != null) {
mMimeMsg.setFrom(new InternetAddress(mShow_name + "d489a5284bf5399c7d82ab6bffefacd0")); ) {
setContentMp(mContent);
mMimeMsg.setContent(mp) }
if (mFilePath != null) {
addFile(mFilePath) }

System.out.println(mMimeMsg.getAllRecipients().toString) ());
トランスポート = mSession.getTransport("smtp");
mState = CONNECTING;

//
if(!transport .isConnected())
{
Log.i(Tag, "接続失敗")
return;

mState =
Log.i(Tag, "接続失敗" + mFrom_userName + " succuss");
System.out.println("送信中...");
Transport.sendMessage(mMimeMsg.getAllRecipients());
Transport. close();
} catch ( Exception e) {
System.out.println("failure! ");
e.printStackTrace();
最初に使用します
FolderdefaultFolder = 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<message.length;i++){	message[i].setFlag(Flags.Flag.DELETED, true);//我这里是删除了所有的文件,可根据需要来编写代码}folder.close(true);//注意这里与读取的区别,这里是确认删除的操作....store.close();


2つの問題
1. Folder フォルダー = store.getFolder("フォルダー パス");
//フォルダー パスは、受信トレイが "INBOX"、送信済みが "SENDBOX" になりますか? 2. message[i].setFlag(Flags.Flag.DELETED, true);
//ローカル変数なので、その変更はメールサーバーに反映されないようです?

コードを提供していただきありがとうございます

補足: BufferedReader リーダーは使用されていませんが、ここでどのように使用できますか?


質問が 2 つあります
1. Folder フォルダー = store.getFolder("フォルダー パス");
//フォルダー パスは、受信トレイが "INBOX"、送信済みが "SENDBOX" になりますか? 2. message[i].setFlag(Flags.Flag.DELETED, true);
//ローカル変数なので、その変更はメールサーバーに反映されないようです?

コードをご提供いただきありがとうございます



フォルダーdefaultFolder = store.getDefaultFolder();
Folder[] allFolder =defaultFolder.list();

ここで見つけてください。

参照してください: http://www.alixixi.com/program/a/2008020835375.shtml


Folder defaultFolder = store.getDefaultFolder(); 取得できるのは 1 つの「INBOX」だけです

という記事を見ました。 POP3 プロトコルについて 次の getFolder(name) は「INBOX」のみをサポートします:
getFolder
public Folder getFolder(java.lang.String name)
throws MessagingException
名前「INBOX」のみがサポートされます

IMAP をすべて試してみました。ファイルは利用可能です フォルダー: 「INBOX、下書き、送信済み、削除済み、スパム、広告メール」
IMAP を使用したくないのですが、POP3 を使用して「送信済み」メールを取得する方法はありませんか?

POP3からファイルを取得することはできないようです。
http://bbs.csdn.net/topics/10021225

IMAP プロトコルを開かずに Outlook と Foxmail をどのように実装できるのか疑問に思っています。ありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。