【お願い】メール投稿のテスト

 

こんにちはロガー様!

新しく立てたメールサーバに投稿スクリプトを仕込みました。予想通り、そんなに難しい作業ではなかったです。

しかし、問題もあるようです。

ですので、投稿テストをお願いしたいのです。

【テストの方法】

○○@post.timelog.jp (○○はユーザーによって異なるランダムな文字や数字列)

のpostの部分をptstに変え、

○○@ptst.timelog.jp

にすると、新しいメールサーバを経由して投稿されます。postのままですと、今までのメールサーバ(サンロフト様のサーバ)を経由します。

※グループ投稿はまだ対応していません。タイムライン投稿でお願いします!

 

【お願い】

テストにご参加いただけるロガー様には、postとptstの両方に別々の内容のメールで投稿し、投稿された結果を報告いただきたいのです。

 

※注意:投稿内容(本文)を同一にしてしまうと、重複投稿とみなされて、はねられてしまいます。必ず、本文は異なるものにし、別々にメールを送信してください。

 

報告いただくのは、いつものTimelogの「希望、要望、妄想Timelog」グループにお願いします。

 

【報告の方法】

post、ptstで同じ結果が出た場合:

送信された環境(詳しく)、投稿結果(反応なし・文字化けあり・文字化けなし)、画像添付(画像添付なし・画像反映OK・画像反応なし)、「結果同じ」

post、ptstで異なる結果が出た場合:

post:、ptst:の接頭辞を付けて、それぞれを報告してください。

 

例)携帯電話(フィーチャーフォン)、文字化けあり、画像添付なし、結果同じ

例)PCブラウザからのGmail、反応なし、画像添付なし、結果同じ

例)スマートフォンのGmail、post:文字化けなし、画像反映OK ptst: 反応なし、画像反応なし

例)PCのThunderbird、post: 文字化けなし、画像添付なし ptst: 文字化けあり、画像添付なし

例)スマートフォンのキャリアメール、文字化けなし、画像反映OK、結果同じ

例)PCブラウザからのプロバイダメール、post: 文字化けなし、画像反映OK ptst: 反応なし、画像反応なし

 

ちなみに、私の環境でのテストでは、

PCのThunderbird、文字化けなし、画像添付なし、結果同じ

PCブラウザからのGmail、反応なし、画像添付なし、結果同じ

でした。

 

※くどいようですが、投稿内容(本文)を同一にしてしまうと、重複投稿とみなされて、はねられてしまいます。必ず、本文は異なるものにし、別々にメールを送信してください。

 

テストへのご協力をどうぞよろしくお願いいたします。

 

以下、技術的考察です。

 

メールサーバはLinuxサーバで、メールの受信をトリガにPHPを起動し、内容をそのPHPスクリプトに引き渡します。

PHPは、受け取った内容をあまり加工せず、ヘッダも含め、そのままTimelogサーバの処理に引き渡します。Timelogサーバにて、Fromメールアドレス、Toメールアドレス、本文に分離し、前者二つを照合、OKの場合に本文での投稿を実施します。

投稿できないなどの問題の多くは、Timelogサーバ側で発生しているようです。例えば、純粋なメールアドレス

nakanohito@example.com

の場合はいけるのですが、名前を添えている場合

中の人 <nakanohito@example.com>

は、うまく解析できずに、メールアドレスの照合の段階で失敗し、投稿できないようです。

 

文字化けに関しても、PHP側とTimelogサーバ側で異なる場合に発生します。ISO-2022-JPですと問題なく投稿でき、Timelogができた頃は、これだけのサポートで問題なかったのですが、最近のGmail等はUTF-8で送信されており、Timelogサーバ(というか、ASP)がUTF-8を解釈できないために文字化けが発生します。

 

ASPではUnicodeのサポートがないため、単純な処理で解決はできなさそう。一方、PHP側では、対応は難しくないと思います。

 

しかし、単純に
$mail_text = mb_convert_encoding( $mail_text, “ISO-2022-JP”, “auto” );
としてもうまくいきませんでした。どんなコードでメールが送られてくるのかが分からないからです。

 

本当にいい方法は、PHP側で、メールアドレスや本文に分解した後でTimelogサーバ側に引き渡すことです。その方がずっと洗練された仕組みになります。だけど、現状ではそうはなっていないため、これを変えるくらいなら、その労力を新しいTimelogの開発に回したい、と思うわけです。

  • このエントリーをはてなブックマークに追加
  • Pocket