• 締切済み

コマンドプロンプトから引数を渡して実行するには?

メールを送信するPHPをコマンドプロンプトから実行しています。 メールが送信される事は確認しました。 使い勝手を少しでもよくするためにsubjectやfromの部分を コマンドプロンプトから引数で渡して実行してやりたいのですが どのようにすれば可能なのでしょうか? コマンドプロンプトの実行コマンド >php send_mail.php を >php send_mail.php subject from のようにしたいと考えてます。 <?php mb_language("japanese"); mb_internal_encoding("SJIS"); $to = "xxx@yyy.zzz"; $subject = "ここはsubject"; $body = "ここはbody"; $from = mb_encode_mimeheader("ここはfrom")."<xxx@yyy.zzz>";mb_send_mail($to,$subject,$body,"From:".$from); ?> 以上です、よろしくお願いします。

noname#50030
noname#50030
  • PHP
  • 回答数1
  • ありがとう数0

みんなの回答

  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

print_r($_SERVER); としてみましょう。argvという項目があるかと思います。 そこから引っ張りましょう。

関連するQ&A

  • 初心者です。PHPのfunctionの実行の仕方について

    いつもお世話になります。 現在PHPを勉強中なんですが、functionの解釈で少し困っています。 たとえば、HTMLのフォームのボタンを押すと メールが送信されるようなプログラムを作るとしましたが うまく作動しません。 PHPのバージョンは5です。 どなたか、わかりやすく教えていただけないでしょうか? よろしくお願い致します。 <FORM> <INPUT TYPE="BUTTON" ONCLICK="scr_sub();"> </FORM> <?pho function scr_sub() { //メール送信 mb_language("japanese"); mb_internal_encoding("SJIS"); $to = "XXXXXX@xxxx.ne.jp";//宛名 $subject = "サブジェクト";//題名 $body = "なんとかこんとか";//本文 $from = "XXXXXX@xxxx.co.jp";//差出人 mb_send_mail($to,$subject,$body,"From:".$from); } ?>

    • 締切済み
    • PHP
  • メール送信フォーム

    mb_send_mail($to, $subject, $message, $from); でフォームのメール送信を作ったのですが、(エラーはでません)メールが送信されません。PHPのバージョンは4.23 HTMLでは <FORM METHOD="POST" ACTION="send.php" ENCTYPE="text/plain"> <input type="hidden" name="subject" value="質問"> </FORM> 省略 send.phpでは <?php mb_language("ja"); mb_send_mail($mail, $subject, $message, $from); ?> どこがおかしいのかわかりません? なにかヒントをいただけますか?

    • 締切済み
    • PHP
  • PHPの定期実行[ Linux&cron ]

    Redhat9.0 PHP4.3.3を利用しています。 cronとコマンドライン版のPHPを利用して「1分毎に自分にメールを送る(実験用)」プログラムを実行させたいのですが、コマンドラインでは実行可能なのに、cronに登録してもメールが送られてきません。cronにはプログラムを実行したログが残っています。 完全に行き詰ってしまった。よろしくお願いします。 [ crontab ] * * * * * php /home/hoge/mail.php [ mail.php ] mb_language("Ja"); mb_internal_encoding("SJIS") ; $subject="test"; $content = "test"; $mailfrom="From:hoge@hoge.jp"; $mailto="***@hoge.com"; mb_send_mail($mailto,$subject,$content,$mailfrom);

    • ベストアンサー
    • PHP
  • メール送信について

    こんばんは。PHPでmb_send_mailを使ってメールを送信したいのですが、「Warning: mb_send_mail() [function.mb-send-mail]: SMTP server response: 521 mail not accepted from this domain in C:\Program Files\Apache Group\Apache2\htdocs\samples\chap2\sendmail.php on line 5メール送信に失敗しました。」とエラーが出てしまい上手くできません。 ■PHPスクリプト 1:<?php 2:$to='○○○○○@yahoo.co.jp'; 3:$subject='テストメール'; 4:$body='ようこそ!'; 5:if(mb_send_mail($to,$subject,$body)){ 6: print('メール送信に成功しました。'); 7:} 8:else{ 9: print('メール送信に失敗しました。'); 10:} 11:?> PHP.iniファイルはSMTP=smtp.mail.yahoo.co.jp、sendmail_from=CQW15204nifty.comと設定しております。 参考書通りにやっているのですが、メーラーに送られません。この状態で他に考えられる原因とかありますか?わかる方ぜひ教えてください。

    • 締切済み
    • PHP
  • cronが実行されているのに動作しない

    phpファイルをcronで設定したのですが動作しません。 『cat /var/log/cron』にて確認をすると正常に実行されています。 実行はされているが、処理されないということになります。 何がだめなのでしょうか? cron設定 * * * * * /user/bin/php /var/www/public_html/test/mail/test.php test.php <?php require( '/var/www/private_html/test/data.php' ); $to_mail = "test@****.jp"; $m_title = "cronテスト"; $s_name = "メールテスト"; $return_mail = "test@****.jp"; mb_language( 'ja' ); mb_internal_encoding("utf-8") ; $subject = "$m_title"; $headers= "From:" .mb_encode_mimeheader( $s_name ) ."<" .$s_mail .">"; $return_path = '-f' . $return_mail; $body = "メール送信テスト\n\n"; mb_send_mail( $to_mail, $subject, $body, $headers, $return_path ); ?> 以上のphpファイルをcron設定しており、 URLを直接たたくとphpファイルは処理されることも 確認済みです。 cronからの実行だとなぜファイル処理がなされないのでしょうか? 原因がわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでコマンドプロンプトを実行できる?

    PHPでコマンドプロンプトを実行できるのでしょうか? 例えば、pingなど。 OSはWindows XPを使っています。よろしくお願いします。

    • ベストアンサー
    • PHP
  • コマンドプロンプトで

    こんにちは。質問させてください。 いままでPHPをWEBブラウザの処理をMainに作成してきました。 簡単な文字列を整形するプログラムを作りました。 これは画面(ブラウザ)に表示するのではないので コマンドプロンプトで実行したいのですが、 単に c:\work>sample.php と実行すると、 エディタが開いてsample.phpの内容を表示するだけに なってしまい、特に処理が行われていません。 どのようにすればコマンドプロンプトから実行できるのでしょうか? C言語のように実行ファイルをコマンドプロンプトから 実行して処理させるようにしたいのですが・・・・ 質問自体が大きな間違いでしたらすみません。 どうかよろしくお願いいたします。

    • 締切済み
    • PHP
  • mb_send_mailに関して

    環境:Windows2008 Server R2 64bit/php5.3.22 教えて下さい。 Windows2008 Server R2 64bit 環境にてPHPを動作させ、mb_send_mail()関数を使って メールを送信しようと考えています。 PHPも問題なく動き、mb_send_mail()関数用にphp.ini も以下のようにメンテナンスし、記述も 問題ないかと思われますが、メールの送信ができません。。。 64bitでは何か設定が違うのでしょうか? 教えて頂きたいと思います。 《php.ini》   [mail function]  For Win32 only.          ← 32bit only とわざわざ記述がある為、64bit ではNG?  http://php.net/smtp  SMTP = XXXXXX  http://php.net/smtp-port  smtp_port = 25  For Win32 only.  http://php.net/sendmail-from  sendmail_from = XXX@XXX.co.jp 《記述内容》  <?php  $mailto = "XXX@XXX.co.jp";  $subject = "掲示板";  $content = "新規投稿がありました。 ☆☆☆";  $mailfrom = "From:mail@colcoat.co.jp";  mb_language("ja");  mb_internal_encoding("UTF-8");  if(mb_send_mail($mailto,$subject,$content,$mailfrom)){  }else{   echo "送信できませんでした";  }  ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • softbank携帯のみメールが届きません

    softbank携帯のみメールが届きません SNSサイトをphpで制作しているのですが、 紹介制SNSの「お友達紹介」にて、 フォームから、 ・お友達のメールアドレス ・紹介内容を 入力すると、入力されたお友達のメールアドレスへ 紹介メールが配信されるプログラムを制作したのですが docomo、au携帯であればメール受信できるのですが softbankのみメール受信できず、困っています。 ▼プログラムソース(メール送信プログラム) require_once "MailUtil.php"; (MailUtil.phpについては下記に掲載) if (getPostParam("exec")=="1") { // 絵文字変換を行う $body = getPostParam('body', 'decodeEmoji', array(whichCarrier())); $to = preg_replace('![\n\r\t]!', '', getPostParam('to')); if (strlen($body)==0) { $errors[] = "メッセージが入力されていません。"; } if (strlen($to)==0) { $errors[] = "Toが入力されていません。"; } // エラーがなければ投稿内容保存処理を実行 $message = ""; if (count($errors)==0) { // Fromを抽出する $subject = "SNSへのご招待"; $body = "$user['name']."さんから招待状が届いています"; $addMailHeader = <<<END From: info@xxx.jp Cc: support@xxx.jp END; $subject=mb_convert_encoding($subject,"JIS","auto"); $body=mb_convert_encoding($body,"JIS","auto"); //メール返信 mb_language('ja'); mb_send_mail($to, $subject, $body, "$addMailHeader", "-t"); //メール送信プログラム $message = "メールを送信しました。"; } else { // データベース接続エラー $errors[] = "メールを送信できませんでした。"; } } ▼プログラムソース(MailUtil.phpプログラム)  (※)MailUtil.php では、携帯メールアドレスであれば下記のメールヘッダーで  送信されるように設定。   function sendMailMobile($subject, $body, $from, $to, $server_config) { $subject = '=?Shift_JIS?B?' . base64_encode($subject) . '?='; $body = base64_encode($body); // メールヘッダー設定 $headers['MIME-Version'] = '1.0'; $headers['Content-Type'] = 'text/plain; charset=Shift_JIS'; $headers['Content-Transfer-Encoding'] = 'base64'; // メール送信 $mail_object =& Mail::factory('smtp', $server_config); $send_result = $mail_object->send($recipients, $headers, $body); if ($send_result===true) { return true; } return false; テストに使用しているsoftbank端末は、メールを全て受信するように設定しています ソース内容をそのまま記載しており、分かりにくいご質問で大変 恐縮ですが、どなたかお分かりの方がいらっしゃいましたら何卒よろしくお願い申し上げます。

    • 締切済み
    • PHP
  • PHPでexec関数の記述方法について

    phpでexec関数を使う時に、コマンドの記述を、 exec("xxx -yyy zzz"); と記述すると上手く動きますが、 exec("xxx -yyy zzz"); と改行を含むと正しく実行されません。 exec関数は改行させた記述は不可能なのでしょうか? とても長いプログラムになってしまって困っています。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう