HTMLエンティティーソフトでエンコードしたメールアドレスを復号してもメールアドレスが有効にならない。

htmlエンティティーソフトでエンコードしたメールアドレスをデコードし(PHPのurldecode関数使用)
JPHPMailerでメールを送信したところ、エラーで送信が出来ない。

原因は、エンコードの指定。

今回、以下のHTMLエンティティ作成というソフトでメールアドレスをエンコードしたが、
ab.jpn.ph/soft/html_rand.html
このときに、「エンティティー出力形式」に16進以外もを指定したため、
デコード時に不正な文字になったため。

エンコードは16進のみを指定するようにする。

スポンサーサイト

JPHPMailerコーディング参考、入手例

説明・入手例

techblog.ecstudio.jp/tech-tips/mail-japanese-advance.html

コーディング例
www36.atwiki.jp/kattsu/pages/41.html

添付ファイル名が文字化けする。シングルコーテーションがアンダーバーに変わってしまう。

JPHPMailerで送信したところ、
添付ファイル名が文字化けしたり、他の文字に置き換わったりする。

日本語が入ったファイル名の一部が文字化けしたり、
シングルコーテーションがアンダーバーに置き換わったりする。

原因は、メールサービス側にあった。

今回、メール送信先をyahoo!としていたが、yahoo!の注意書きとして、
2バイト文字を使用した場合、文字化けする事があるという注意書きがある。
これに該当したものと思われる。

Gmailで受信、または、メーラー(Bekky!)でYahoo!メールを受信したときは、
問題がなかった。

今回、ブラウザ上でメールを受信していたが、このときに現象が発生していたところから、
Webメール上の問題と判断した。

この件については、AP側では対処なしとする。

2010/12/10追記
この問題は、さくらインターネットのウェブメールでも発生した。

いろいろと調べてみると、phpmailerに使用されている命令の内、
basefilename関数のバグによるものもあるようである。

参考URL
blog.jojo.jp/

上記の内容によると、PHP5では対応の予定がないようなので、
他の方法で代用するしかないようである。
(PHP6で対応予定)



JPHPMailerで添付ファイル名が文字化けする。

原因は、エンコードミス。

処理の流れとして、アップロードしたファイルを一時的にapache上の一時ファイルフォルダに格納し、
さらに、move_uploaded_fileでファイル名を付け替えて
格納しなおしているが、このときに、添付ファイル名が文字化けしていた。
このため、メールに添付したファイル名も文字化けしていた。

格納し直し時にSJISにエンコードすることにより解決した。

JPHPMailerで添付したはずの添付ファイルが添付されない。

原因は、添付ファイル名のエンコードミス。

apache上の一時ファイルフォルダへ格納するときは、SJISでエンコードしていたが、
添付するときにJISでエンコードしていたため、ファイル名が正しくエンコードされず、
添付ファイルが認識できなかった。そのため、ファイルがないものとしてみなされ、
添付されなかった。

正しくエンコード(SJIS)することにより、添付されるようになった。


プロフィール

e.swan

Author:e.swan
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR