携帯メールからの投稿ができません

このサイトもレンタルサーバーを借りてから自分のしたいことができるようになってきました。

そうして次の課題はというと今度は以前のレンタルブログでやっていた携帯からの投稿です。そこでは携帯から指定のアドレスにメールを送ると記事としてブログに投稿されるというものです。

これができると出先でもリアルタイムに投稿できて良いなぁ……と思うんです。ということで、ネットで調べつつ試してみることにしました。

まずはWordPressにあらかじめ備わっている機能を利用。『各種設定』 >> 『投稿設定』 の下の方にあるメールでの投稿を利用することにしました。

WordPressはPOP3メールアカウントを利用することで投稿することができる機能が備わっているようです。ということで早速設定…。ここで注意することは使用するメールアドレスは投稿用にPOP3対応の秘密のアドレスを1つ用意する必要があります。
GmailでもYahooでもPOP3に対応していればOKです。

設定完了! ということで投稿……でも反映されません。そこでググってみましたらWordPressのファイル一式の中にある
『wp-mail.php』を呼び出してやらないと反映されないとか。早速実行してみたら確かに反映されました、文字化けして(ToT)

とうことで、今度は文字化けをどうするべかぁ…と検索。するとwp-mail.phpの中を一部改変する必要があるんだとか。『mars – ブログ : WordPress MEのメール投稿文字化け対策』によるとこんな感じです。

	$subject = trim(str_replace(get_option('subjectprefix'), '', $subject));

// Edit -->
	$subject = mb_convert_encoding(mb_decode_mimeheader($subject), 'UTF-8');
// <-- Edit
	if ($content_type == 'multipart/alternative') {
		$content = explode('--'.$boundary, $content);
		$content = $content[2];
		$content = explode('Content-Transfer-Encoding: quoted-printable', $content);
		$content = strip_tags($content[1], '<img /><p><br /><i><b><u>
<em><strong><strike><font><span><div>');
	}
	$content = trim($content);

// Edit -->
	$content = mb_convert_encoding($content, 'UTF-8', 'auto');
// <-- Edit

	
	if (stripos($content_transfer_encoding, "quoted-printable") !== false) {
		$content = quoted_printable_decode($content);
	}

確かにこれで文字化けは直りました!
でも投稿されるのは題名だけで本文はナシ(-_-)
これはコード変更前も変わらずなのでこことは別のところに問題がありそうです。

これに関しても検索してみているのですが、なかなか見つけることができません。専用のプラグインを入れちゃった方が簡単なんでしょうか……?

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です