送信エラー: Missing Sender or Recipient(KaMail)
問題
ある日のことだ.いつものようにkamailを起動してメールを受信するとエラーが出た.メッセージの内容は“送信エラー: Missing Sender or Recipient”.以下のようなダイアログが出る.
このエラーの出るタイミングは
- kamailを起動(カーソルはフォルダビュー)
- メールを受信開始(メニューバーのKaMail→取込→メール全取込 or キーiを押す)
- メールを受信してエラー発生
である.原因を解明しよう.
なお,xyzzy/KaMailの設定ファイルやパスは以下のように表記する.
- xyzzyインストールディレクトリ
${XYZZY_HOME}
- KaMailの設定ファイル
.kamail
${XYZZY_HOME}/KaMail/.kamail
原因
結論から先に言うと,原因はキューフォルダ内に送信できないメールがあったためである.例えばTo:
にメールアドレスが入っていないメールがキューフォルダにある場合,該当メールは送信できないのでこのエラーが発生する.
対応その1
KaMailのフォルダビューの中に+queueフォルダがあったら,その中にあるメールを確認して書きかけのメールを書き上げるか,問題のメールは削除しよう.
キューフォルダは${XYZZY_HOME}/KaMail/.kamail
の中に定義がある.名前を変えている場合は,この中身を確認しよう.こんな記述があるはずだ.
;送信前フォルダ
(setq *kamail-queue-folder* "+queue")
+queue
が別の名前になっていたら,それがキューフォルダである.
対応その2
なお,KaMailのフォルダビューには+queueフォルダがない場合でも,このエラーは発生する.キーボードショートカットを打ち間違えてキューフォルダに入ってしまったような場合に発生する.メールボックスに指定したディレクトリをエクスプローラで確認しよう.メールボックスの場所は${XYZZY_HOME}/KaMail/.kamail
の中に定義がある.
;ローカルのメールフォルダへのパス
(setq *kamail-local-directory*
(merge-pathnames "Mail" "c:/Documents and Settings/foo/My Documents/mailbox/"))
キューフォルダの名前が+queue
だったら,以下のディレクトリに送信前のメールがある.
c:/Documents and Settings/foo/My Documents/mailbox/queue
KaMailのフォルダビューに+queueフォルダがないわけだから,キューフォルダにあるメールは全ていらないものだと思う..kamail-cache
ごと消してしまおう..kamail-cache
は自動でできるので気にする必要はない.