「
Re: メールの送信が出来なくて困っています・・」に記載されたエラーログを調べました。
コード:
mailnews.send:
Exception { name: "NS_ERROR_FILE_TOO_BIG", message: "Component returned failure code: 0x8052000f (NS_ERROR_FILE_TOO_BIG) [nsIFile.createUnique]", result: 2152857615, filename: "resource:///modules/MimeMessage.jsm", lineNumber: 72, columnNumber: 0, data: null, stack: "createMessageFile@resource:///modules/MimeMessage.jsm:72:10\ncreateAndSendMessage@resource:///modules/MessageSend.jsm:128:41\nCompleteGenericSendMessage@chrome://messenger/content/messengercompose/MsgComposeCommands.js:6108:23\nGenericSendMessage@chrome://messenger/content/messengercompose/MsgComposeCommands.js:6024:11\n", location: XPCWrappedNative_NoHelper }
MessageSend.jsm:130:27
上記のログによれば、「NS_ERROR_FILE_TOO_BIG」の例外エラーの発生元は「nsIFile.createUnique」で「MimeMessage.jsm」の72行目から呼ばれているようです。
該当箇所のソースコードを調べてみます。
https://searchfox.org/comm-esr102/sourc ... age.jsm#72コード:
async createMessageFile() {
let topPart = this._initMimePart();
let file = Services.dirsvc.get("TmpD", Ci.nsIFile);
file.append("nsemail.eml");
file.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, 0o600);
どうやら、送信メール作成時に使われる一時ファイルは「
nsemail.eml」だったようです。
さっそく「nsemail.eml」と「nsemail-1.eml ~ nsemail-9999.eml」をTempフォルダーに置いてメール送信を試してみますと、
「メッセージを送信できませんでした。」のエラーダイアログが表示され、エラーコンソールには下記が出力されました。
コード:
mailnews.send:
Exception { name: "NS_ERROR_FILE_TOO_BIG", message: "Component returned failure code: 0x8052000f (NS_ERROR_FILE_TOO_BIG) [nsIFile.createUnique]", result: 2152857615, filename: "resource:///modules/MimeMessage.jsm", lineNumber: 72, columnNumber: 0, data: null, stack: "createMessageFile@resource:///modules/MimeMessage.jsm:72:10\ncreateAndSendMessage@resource:///modules/MessageSend.jsm:128:41\nCompleteGenericSendMessage@chrome://messenger/content/messengercompose/MsgComposeCommands.js:6108:23\nGenericSendMessage@chrome://messenger/content/messengercompose/MsgComposeCommands.js:6024:11\n", location: XPCWrappedNative_NoHelper }
MessageSend.jsm:130:27
同じ状況の再現に成功しました。
しかも、「nsmail.tmp」ですと Thunderbirdの起動時に削除されるのですが、「nsemail.eml」は削除されないようです。
したがいまして、条件としては
- Tempフォルダーに一時ファイル「nsemail.eml」の枝番ファイル「nsemail-9999.eml」が存在していた場合
ということで決まりかと思います。
ただし、一時ファイルが削除されずに枝番ファイルを作って9999まで増殖するに至る原因についてはまだ不明です。