標準でHTMLメールになってるので
Setting>Mail Settings>Plain ContentをONにする
標準でHTMLメールになってるので
Setting>Mail Settings>Plain ContentをONにする
usingにSystem.Configurationを追加するだけではダメで、プロジェクトの参照から追加する必要がある。
参照追加方法
「ソリューションエクスプローラー」→「参照」右クリック→「参照の追加」
アセンブリ:フレームワーク内にある「System.Configuration」にチェックを入れて「OK」。
SJISのつもりで入力してもChromeだと勝手にUTF8に変換しちゃう。
ブラウザごとに挙動が違うのでテストした気になってしまって危険。
本番プログラムからきちんと呼んでテストしよう。
urlencodeのマニュアルを見ても第一引数しかありませんが、
mb_convert_encodingで文字列をエンコードすれば、
出力したい文字コードでurlエンコードできます。
$tmpname = "URL%e3%82%a8%e3%83%b3%e3%82%b3%e3%83%bc%e3%83%89%e3%83%86%e3%82%b9%e3%83%88"; if( strpos($tmpname,'%') !== false ){ $tmpname = urldecode($tmpname); $sjisStr = mb_convert_encoding($tmpname , 'SJIS' , 'UTF-8'); $tmpname = $sjisStr; }
perl側プログラム
#!/usr/bin/perl my $ans = `/usr/local/php5/bin/php -f test.php5 aaaa bbbb`; print("return:" . $ans);
PHP側プログラム
<?php echo $argv[1] . "&" . $argv[2]; ?>
# バッククォート演算子 my $output = `$cmd`;
引数でfrom to指定して空メール送信
<?php try { $char = "UTF-8"; //PHPファイルがUTF-8でかかれている場合 $from_addres = $argv[1]; $to_addres = $argv[2]; $message = ""; $make_subject = ""; $message=mb_convert_encoding($message,"JIS",$char); $headers['Subject'] ="=?iso-2022-jp?B?".base64_encode(mb_convert_encoding($make_subject,"JIS",$char))."?="; $headers['From'] = $from_addres ; $headers['To'] = $to_addres ; $params['host'] = "smtp.sendgrid.net"; $params['port'] = 25; $params['auth'] = "LOGIN"; $params['username'] = "apikey"; $params['password'] = "APIキー"; $params["persist"] = FALSE; include_once 'Mail.php'; $mailer =& Mail::factory( "smtp", $params); $mailer->send($to_addres, $headers, $message); } catch (Exception $e) { echo '捕捉した例外: ', $e->getMessage(), "<br>\n"; } ?>