We are ACORN!

プログラムやサーバーの設定など、技術的な記事を載せております。

PHP WSL プログラミング

【WSL】PHPから送信するメールをテキストに保存する

投稿日:2019-02-01 更新日:

テスト環境で使っていると、PHPのメール送信をテストしたい時があります。
かといって、実際に送信されてしまうと面倒です。
xamppにはmailtodiskというのがあり、メールをディスクに保存してくれるので便利でした。
Bash on Ubuntu on Windowsにはそれがありません。

無ければ作ればいい!ってことで、PHPで作ってみました。

#!/usr/bin/php
<?php
$output = '';
for ($i = 1; $i < $argc; $i++) {
        $output .= "[{$i}] = ".$argv[$i]."\n";
}
$fp = fopen('php://stdin','r');
while ($line = fgets($fp)) {
        $output .= mb_convert_encoding($line, 'UTF-8');
}
$output .= "EOF----------------------------------------------------\n\n";
file_put_contents('/tmp/sendmail.log', $output, FILE_APPEND);

これを/usr/sbin/sendmailに保存して、chmod 755を付けてやります。
そうすると、/tmp/sendmail.logに送信したメールが入るようになります。
文字コードは変換していないので、iconvなんかで変換してやる必要があります。

最初の数行には、PHPがsendmailに付けたパラメーターが入ります。
BoWは便利ですね。

-PHP, WSL, プログラミング


comment

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

スクリーンリーダーの利用を意識したコーディング

インターネットを閲覧している人は様々です。中には目の見えない方もいらっしゃいます。 そういった方にも情報を伝えるためには、HTMLを正しくコーディングしていく必要があります。 いくつか考えてみましょう …

WordPressのメインループ&サブループ

WordPressのテンプレートを作っていると、ループの構造で混乱してくる人がいます。 ですので、不要なHTMLを除いた、単純な構造を書いておこうと思います。 解説はコメントに書いています。 < …

HTMLの見出しタグの使い方

HTMLでコーディングしていると見出しタグ(h1とかh2とか)をどのように付けようか迷うことがありませんか? そんなときには文書構造を考えるようにしましょう。

さくらのレンタルサーバーのメールをslackに通知する

今までメールを自分で作ったスクリプトで携帯に転送していたんですが、キャリアメールをやめたのでslackにメッセージを投げることにしました。 前提として、プランがスタンダードである必要があります。 何せ …

Google Bookmarksを利用するChrome拡張機能

暇なときにGoogle Bookmarksを利用するプラグインを作ってみました。 最低限のことしか出来ないのですが、自分で使う分にはこれで必要十分です。 Gブックマーク もしよろしかったら使ってみてく …