― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 19 件の記事 ]  ページ移動 1, 2  次へ
作成者 メッセージ
投稿記事Posted: 2020年7月03日(金) 12:17 
Windows10
Thunderbird 68.10.0(32ビット)

SMTPのメールではメール本文の最後を示すため
半角ピリオド文字があります。

Thunderbirdで受信したメールを見ると
このピリオド文字が表示されるものがあります。
どういう場合に表示されるか不明です。

また、返信にもこのピリオド文字が付いてしまいます。

同じメールがスマホではピリオド文字が表示されません。

これは不具合なのでしょうか?

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月03日(金) 16:13 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
koshi さんが書きました:
Thunderbirdで受信したメールを見ると
このピリオド文字が表示されるものがあります。
どういう場合に表示されるか不明です。

それは、特定のメール、特定の差出人の場合でしょうか。
メールのソースを表示させて調べてみてください。

_________________
Mozilla/5.0 (Linux; Android 8.0.0; SOV33) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月03日(金) 16:59 
EarlgreyTea さんが書きました:
それは、特定のメール、特定の差出人の場合でしょうか。
メールのソースを表示させて調べてみてください。

メールによってです。

以下のメールの場合、ピリオド文字が表示されているようです。

  Content-Type: text/plain; charset=utf-8
  Content-Transfer-Encoding: 8bit

Content-Type: text/htmlもある場合は
メッセージの表示形式をプレーンテキストにしても
ピリオド文字は表示されません。

Content-Transfer-Encoding: base64の場合
ピリオド文字は表示されません。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月03日(金) 23:39 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
koshi さんが書きました:
以下のメールの場合、ピリオド文字が表示されているようです。

  Content-Type: text/plain; charset=utf-8
  Content-Transfer-Encoding: 8bit

Content-Type: text/htmlもある場合は
メッセージの表示形式をプレーンテキストにしても
ピリオド文字は表示されません。

それは調べたメールの範囲ではたまたまそうなっていた、ということではないでしょうか。

私のThunderbirdのYahoo!メールアカウントを使って、プレーンテキストなメールを送信し受信してみましたが問題は見られませんでした。
メールソースを抜粋しますとこんな感じです。
コード:
From - Fri Jul  3 23:10:57 2020
(いろいろ削除)
To: (削除)
From: (削除)
Subject: =?UTF-8?B?44OX44Os44O844Oz44OG44Kt44K544OI44GnVVRGLTjjgarjg6Hjg7w=?=
 =?UTF-8?B?44Or44Gu44OG44K544OI?=
Message-ID: (削除)
Date: Fri, 3 Jul 2020 23:10:45 +0900
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Content-Length: 57

プレーンテキストでUTF-8なメールのテスト

受信トレイのすべてのメールソースで「Content-Type: text/plain; charset=utf-8」を検索して、そのメールすべてで同じ状況でしょうか。
たぶん特定の差出人、特定のメールサーバー、特定のメールソフトなどのどれかなのではないでしょうか。

該当メールアカウントの設定>サーバー設定>メッセージの保存先
に設定されているフォルダーをエクスプローラーで開いていただいて、そこに Inbox というファイルがあるはずです。
それを安全のためいったん別の場所にコピーしていただいて、そのコピーしたファイルをテキストエディター(できればメモ帳より便利なもので)で開いて見てください。
そして検索機能を使って「Content-Type: text/plain; charset=utf-8」を検索して確認をお願いします。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月04日(土) 02:39 
EarlgreyTea様

プレーンテキストのみのメールが少なく
調査に時間がかかり、確証が得られていません。

EarlgreyTea様のテストで一つ確認したいことがございます。
Thunderbirdで受信メールをファイル保存(xxxx.eml)します。
このファイルをテキストエディターで開くと
最後にピリオドはありますでしょうか?

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月04日(土) 06:37 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
koshi さんが書きました:
最後にピリオドはありますでしょうか?

本文にピリオドを打ったのでなければ、ありません。
環境:
  • Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0
アカウント:
  • Gmail(IMAP)
  • Yahoo!メール(POP)
  • Outlook.com(IMAP)
  • Zoho Mail(IMAP)
です。

ところで気になっていることがあるのですが、
koshi さんが書きました:
SMTPのメールではメール本文の最後を示すため
半角ピリオド文字があります。
こちらは何を指してそういっているのでしょう。

最後を示すピリオドですが、これは正確には、
SMTPにおけるDATAコマンドの終わりは「<CRLF>.<CRLF>」で示されるということです。
ちなみに、メール中に「<CRLF>.<CRLF>」が含まれていた場合に区別がつかなくなりますので、行頭にピリオドがあったら送信側ではもう一つピリオドを追加し、 受信側では行頭のピリオドを一つ削除する、ということを行います。
参考: https://www.softel.co.jp/blogs/tech/archives/2277

こういったことは、SMTPサーバーにtelnetで入って、直にコマンドを打っているとかでなければ意識する場面はないはずです。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月04日(土) 10:39 
EarlgreyTea さんが書きました:
本文にピリオドを打ったのでなければ、ありません。
普通そうですよね。
ところが受信したすべてのメールの最後に
「<CRLF>.<CRLF>」がついたままになっています。

アカウント:
  • outlook.office365.com(POP)

本来であれば、存在しない「<CRLF>.<CRLF>」があり
表示されているようです。

Content-Type: text/htmlや
Content-Transfer-Encoding: base64の場合
本文の終わりが明確なので、本文以降の文字として無視され
表示されないようです。

昨年メールサーバーをIIJからoutlook.office365に変えたのですが
IIJ時に受信したメールには「<CRLF>.<CRLF>」はついていませんでした。

outlook.office365の仕様なのか設定なのか
それともThunderbird上の設定なのか
わかれば教えてほしいです。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月04日(土) 17:21 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
koshi さんが書きました:
ところが受信したすべてのメールの最後に
「<CRLF>.<CRLF>」がついたままになっています。

特定の差出人や特定のメールソフトで送信されたメールではなく、すべてのメールなのですね?
そうすると、ご利用メールサービス由来の挙動の可能性が高いと思われます。

koshi さんが書きました:
outlook.office365.com(POP)

私は無料の Outlook.com (hotmail) を利用していますが、サーバーは同じです。
koshi さんご利用のメールサービスは、有料の Office365 でしょうか。
夜に帰宅したら、一応 POPのアカウントを作成して試してみることにします。

_________________
Mozilla/5.0 (Linux; Android 8.0.0; SOV33) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月04日(土) 19:28 
有料です。

Thunderbirdを疑ってしまいましたが
メールサービスの問題かもしれませんね。

会社のなので
週明けに確認してみます。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 00:28 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
試してみました。
outlook.office365.com から POPでメールをダウンロードすると、終端のピリオドがメールソースに含まれていました。
これは IMAPでは起こりません。
詳細は後で調べてみようと思いますが、取り急ぎ結果だけお知らせしました。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 13:03 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
POP受信した際の動作ログを出力させて調べてみました。
方法は下記で、モジュール指定は「timestamp,POP3:5」としました。

outlook.office365.com と比較対象として pop.zoho.com から
同じプレーンテキストのメール本文
コード:
.
..
...
を受信した際のログを取得したところ、以下となりました。

outlook.office365.com
コード:
2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV:

2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ..

2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ...

2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ....

2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: (null)
2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering NET_ProcessPop3 3
2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering state: 19
2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: .

2020-07-05 03:05:51.826000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: (null)
2020-07-05 03:05:51.841000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering state: 15
2020-07-05 03:05:51.841000 UTC - [(null) 18696: Main Thread]: D/POP3 sink: [this=2CA3FD30] Calling ReleaseFolderLock from EndMailDelivery
2020-07-05 03:05:51.841000 UTC - [(null) 18696: Main Thread]: D/POP3 sink: [this=2CA3FD30] ReleaseFolderLock haveSemaphore = TRUE
2020-07-05 03:05:51.857000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering state: 22
2020-07-05 03:05:51.857000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] SEND: QUIT

pop.zoho.com
コード:
2020-07-05 03:05:29.739000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV:

2020-07-05 03:05:29.739000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ..

2020-07-05 03:05:29.739000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ...

2020-07-05 03:05:29.739000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: ....

2020-07-05 03:05:29.739000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: .

2020-07-05 03:05:29.792000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] RECV: (null)
2020-07-05 03:05:29.792000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering state: 15
2020-07-05 03:05:29.855000 UTC - [(null) 18696: Main Thread]: D/POP3 sink: [this=11C731F0] Calling ReleaseFolderLock from EndMailDelivery
2020-07-05 03:05:29.855000 UTC - [(null) 18696: Main Thread]: D/POP3 sink: [this=11C731F0] ReleaseFolderLock haveSemaphore = TRUE
2020-07-05 03:05:29.877000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] Entering state: 22
2020-07-05 03:05:29.877000 UTC - [(null) 18696: Main Thread]: I/POP3 [this=05010D60] SEND: QUIT

本来、メール本文と終端のピリオドまで続けて受信した後に(null)となるはずが、outlook.office365.com の場合は、メール本文最後と終端のピリオドの間にも(null)を受信してしまっていることに注目してください。
この outlook.office365.com がPOP3のRETRコマンドの応答を返してくる際の挙動の違い、これが最初の原因です。

そして、その際になぜか Thunderbird は終端のピリオドを受信メッセージに追記してしまっている、ように見受けられます。
これが他のメールソフトで現象が発生しない原因ということになるでしょう。

したがいまして、outlook.office365.com のPOPゲートと Thunderbird どちらもおかしい、というのが私の結論です。
outlook.office365.com は素直にIMAPで利用されることをおすすめします。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 19:30 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
バグ報告してみました。
Bug 1650626 A dot is added to the end of messages received from outlook.office365.com using POP

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 20:49 
EarlgreyTeaさん

解析ありがとうございます。
すごいですね。

メール本文最後と終端のピリオドの間にも(null)があるなんて
C言語での処理に便利そう(逆にC言語で1バイト多く処理してしまってる?)

昨年のメールサーバ変更時にIMAPをすすめられたのですが
IIJ上で容量大きいためかIMAPでの接続に失敗しまして
受信フォルダとかそのまま使いたかったので
POPのままoutlook.office365.comに移行していました。

そんなわけで、この組み合わせで使用してるのが私ぐらいで
なおかつ、プレーンテキストでbase64などの変換かかっていない場合のみ
見える現象なので、本当にレアですね。

実際、昨年から発生していたのですが
ピリオドに何の違和感もありませんでした。

とにかくスッキリしました。
ありがとうございました。

IMAPへの移行検討します。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 20:59 
EarlgreyTea さんが書きました:
これが他のメールソフトで現象が発生しない原因ということになるでしょう。
申し訳ありません。他のメールソフトでは確認できていません。
スマホにも配信されたメールにピリオドが無かったということです。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2020年7月05日(日) 22:00 
オフライン

登録日時: 2014年2月22日(土) 00:59
記事: 3672
koshi さんが書きました:
メール本文最後と終端のピリオドの間にも(null)があるなんて
C言語での処理に便利そう(逆にC言語で1バイト多く処理してしまってる?)

あれはあくまでログの表示であって、生データにnullポインターやNUL文字が入っているわけではありません。
実際のソースコードは見ていませんが、1行(<CRLF>で区切られた)データを受信する関数が返値としてnullポインターを返したというのを出力しているだけかと。
生データの該当箇所で<CRLF>が連続して長さ0の空行になっているのか、それともいったん途切れてしまっているのか、それは私にはわかりません。
あと、C言語じゃなくて主にC++です。あとRustとかJavaScriptとか…

koshi さんが書きました:
申し訳ありません。他のメールソフトでは確認できていません。

バグ報告の前に私が確認してます。
Windows 10標準のメールアプリ、Sylpheed、Becky! です。

koshi さんが書きました:
スマホにも配信されたメールにピリオドが無かったということです。

普通に設定したらIMAPのはずです。

_________________
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 19 件の記事 ]  ページ移動 1, 2  次へ

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[59人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean