18669


お願いします。

PHPで、gmail宛にメールを送りたいのですが、上手くいきません。

学校のサーバ上で動くプログラムです。

mb_send_mailでFALSEが返って来たら「送信失敗」と出すはずなのですが、  
「メールが送信されました」と表示されます。  
エラーは出ません。

php.iniの編集部分です。

[code]

    [mail function]
    ; For Win32 only.
    ;SMTP = localhost
    SMTP = mail.～
    
    smtp_port = 25
    
    ; For Win32 only.
    ;sendmail_from = me@example.com
    
    ;;;;;   メール送信元を設定する
    sendmail_from = ～@~
    ;;;;;
    
    ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
    
[/code]

都合上書けない所は「～」と変更させていただいています。  
「～」の部分は間違っていない前提でのお話で結構です。  
(後日別の者にしっかりと確認していただく予定です。)

受け取り・メール送信側のソースコードです。  
項目の入力画面は別ファイルで行っています。

[code]

    <?php
    //print ini_get('sendmail_from');
    //var_dump(ini_get('sendmail_from'));
    //$a = ini_get('sendmail_from');
    /*
    if($a == null)
    {
        print "aaa";
    }
    */
    $message = "名前：" . $_POST["name"] . "\n本文：" . $_POST["message"];
    $mail = "aaa@gmail.com";
    if (!mb_send_mail($mail, $_POST["subject"], $message, "From: " . print ini_get('sendmail_from')))
    {
      exit("送信失敗");
    }
    
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>送信結果</title>
    </head>
    <body>
    <p>メールが送信されました。</p>
    </body>
    </html>
    
[/code]

コードの

[code]

    //print ini_get('sendmail_from');
    //var_dump(ini_get('sendmail_from'));
    //$a = ini_get('sendmail_from');
    /*
    if($a == null)
    {
        print "aaa";
    }
    */
    
[/code]

この部分で試しましたが、sendmail_fromが空になっています。  
原因の一つにこれがあると考えていますが、対処出来ませんでした。

足りない所、間違っている所はあるでしょうか？  
また、可能性として考えられる事は何でしょうか？  
なんでも良いので教えていただきたいです。よろしくお願いします。


CC BY-SA 3.0
2015-11-05T12:05:44.090
18437
2015-11-11T07:39:13.923
2015-11-05T12:42:38.747
7290
12797
question
php
PHPでgmailにメール送信をしたいが送ることが出来ない


以下の点は問題ありませんか？  
・学校の当該サーバの発信IPに対してSPFが設定されているか  
・sendmailのコマンドの引数に -f オプションでUNIX FROMを正しいものにしているか  
・当該サーバはlocalhostのメールをrelayする設定となっているか。  
(メールサーバのログはどうなっていますか？)  
・nslookup -type=mx gmail.com で出力されるメールサーバに telnet 25 で接続可能か


CC BY-SA 3.0
2015-11-05T14:41:37.190
18441
2015-11-05T14:41:37.190
12936
18437
answer


皆様コメント、回答ありがとうございます。

今回メールが送れなかったのは、編集していたphp.iniが違った事が原因でした。

[code]

    print php_ini_loaded_file();
    
[/code]

こちらで実際に取り込んでいるphp.iniを確認し、そちらを編集し直しました。


CC BY-SA 3.0
2015-11-11T07:39:13.923
18669
2015-11-11T07:39:13.923
12797
18437
answer