ようこそゲストさん

CPA-LABテクニカル

2008/03/19(水) Semail 1.0.3 にバージョンアップ-CakePHP日本語高機能メールコンポーネント

変更点

CakePHP高機能日本語メールコンポーネント Semail
デフォルトでの改行をLFのみから、CRLFに変更しました。
RFC822に準拠させるためです。
現在はもっと高機能なQdmailがありますのでよかったら、Qdmailの方をお使い下さい。
これまで、当初のEmailConponentの設定のまま、デフォルトではLFのみでしたが*1、よりちゃんとしたメールにするため、デフォルトで、CRLFとしました。


$this->Semail->_newLineを変更することで、他の改行コードに変えられますが、変える意義はないと思います。

ダウンロード

semail1.0.3.zip

*1 : すいません。気づいていませんでした。

1: MASA-P 2008年04月07日(月) 午後6時50分

PEARが使えない環境で、PEAR:Mailに代わるツールを探していてたどり着きました。一応動作するのですが、普通のテキストメールを送る場合に、OutlookExpress6だとContent-typeとContent-Transfer-Encodingが本文に表示されてしまい、Softbank携帯の場合はこれらは表示されませんが改行すると1つ余分に改行され、Yahooメールで見ると正常に表示されるようです。Semailのソースは何もいじっていませんし、「最も簡単な使い方(初心者向け)」の通りに送信しています。改行コードを変えたり、文字コードをいろいろ変えたりしてみましたが変わりませんでした。Content~は本文中に入っているんでしょうかね?

2: spok 2008年04月07日(月) 深夜1時41分

せっかくダウンロードしていただいたのにすいませんね~。
私の環境では、大丈夫なのでなんですかね~。
Content-typeが本文にみえてしまうというのは、その直前に改行コードが入ってしまったからだと思うのですが、通常は入らないはずなのですが。。。
ただ、そうするとすべてメーラーでおかしくなるはずので。。。。特定のメーラだけというのがよくわからないです。。。

できれば、ヘッダー情報をお送りいただきたいのですが、それが無理なら以下の情報をお教えいただければなんとかなるかもしれないです。

CakePHPのバージョン
Semaiのバージョン
メールを送るソースコード。
そのソースの文字コードと改行コード。
テンプレート、レイアウトを使っていれば、そこにヘッダー情報がかかれているかどうか。
テンプレート、レイアウトを使っていれば、その文字コード。
添付ファイルを指定しているか。
本文は英語だけか、日本語も入っているか。
すべてを英語に(ヘッダーの宛先も含め)しても同じ症状か。

他のメーラ(例えば、秀丸メールやベッキーなど)でも同じ症状か。
(この2つのメーラーで試していただければ、「メールをそのまま転送」で送ることができるので、解明しやすいです)
ソースコード、テンプレートをutf-8+改行コードCRLFにしても同じ症状か。

Content-typeと、Content-tranfer-encoding の続きの値はどんな値がみえているか。(これ重要)。

ぐらいかな。。。
原因がわかるかどうかはわかりませんが。。。

できればヘッダをふくめたメールをまるごと転送していただけるとうれしいです。

3: MASA-P 2008年04月08日(火) 午後0時46分

返信ありがとうございます。
すみません、解決できました。

結論から言いますと、改行コードのCRLFがいけなかったようです。$this->Semail->_newLine='¥n'としますと出ていた現象が全て正常になりました。実は改行コード変更は既に試していたのですが、間違って$this->_newLineとしてしまい、改行コードを変えたことになっていなかったようです(大汗)。

今回は事情あって共有サーバでの開発をしているのですが、ホームディレクトリにrootパーミッションがかかっているというとんでもないところでして、PEARも当てることが出来ず困っていました。最悪自作しようと思っていたのですが、よいコンポーネントに巡り会えて本当にラッキーでした。ありがとうございます。
宣伝で申し訳ございませんが、当方も「http://ecw.seesaa.net/」でCake情報を公開していますので、是非今後とも宜しくお願いいたします。


名前:  非公開コメント   

  • TB-URL  http://www.cpa-lab.com/tech/0114/tb/