1
$res=  mail('myemailaddress@live.com', 'Email verification ','This is my own text');

print $res;

メール ID にメールを送信しようとしました。ページに 1 があります。機能しているように見えますが、実際には機能しませんでした。

php.ini:

define_syslog_variables  = Off

[mail function]
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
 SMTP = localhost
 smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = mymailaddressishere@live.in

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces (e.g. c:\program files\xampp-portable) fakemail and mailtodisk do not work correctly.
; XAMPP IMPORTANT NOTE (2): In this case please copy the sendmail or mailtodisk folder in your root folder (e.g. C:\sendmail) and use this for sendmail_path.  

; XAMPP: Comment out this if you want to work with fakemail for forwarding to your mailbox (sendmail.exe in the sendmail folder)
sendmail_path = "\"\xampp-portable\sendmail\sendmail.exe\" -t"

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the \xampp-portable\mailoutput folder
sendmail_path = "\xampp-portable\mailtodisk\mailtodisk.exe"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = Off

; Log all mail() calls including the full path of the script, line #, to address and headers
;mail.log = "\xampp-portable\php\logs\php_mail.log"

[SQL]

コードに何が起こったのかを追跡する方法を知りたいです。ローカル php サーバーでいくつかの設定を行う必要がある場合は、それらについて教えてください。

xamppポータブル「管理者として実行」を使用しています。

4

3 に答える 3

1

ファイルに次のような行があります。

; XAMPP: Comment out this if you want to work with mailToDisk, It writes all mails in the \xampp-portable\mailoutput folder
sendmail_path = "\xampp-portable\mailtodisk\mailtodisk.exe"

XAMPPのインストールで、コメントが間違っていることがわかりました。mailToDiskを使用する場合は、実際にはその行のコメントを解除する必要があり、メールは実際には/ tmp/mailoutputに書き込まれます。

于 2013-02-13T04:23:08.747 に答える
0

私は次のように言っています。SMTP サーバーがインストールされておらず、ましてや実行されていません。あなたがSMTP @ localhost:25を使用するphp.iniと言っているからといっmail()て、それがインストールされて実行されているとは限りません。mail()実際に手紙を送信しない場合でも、関数は true を返します。

SMTP サーバー (現時点では XAMPP にパッケージ化されていません) をインストールして実行している場合は、申し訳ありません。使用している SMTP サーバーとサービス リストを投稿して、それが実行されていることを確認してください。その後、診断が容易になります。

編集

SMTPサーバーをセットアップせずに、コンピューターでテストしました:

$a= @mail('sales@ellsworthpublishing.com', 'asdf', 'asdf');
if(!$a)
    echo'False';
else
    echo'True';

出力はTrueです。

于 2012-11-28T06:27:20.500 に答える
0

コメントシステムが使えないので、ここにしか投稿できません。しかし、これはあなたが探している答えではないと思います。

XAMP でメールを送信できない場合があります。xamp や wamp などのほとんどの localhost テスト環境では、電子メールを送信できません。最初にメールサーバーとして設定する必要があります。それらをメールサーバーとして設定することもできますが、無料のホスティング (「醜い」サブドメイン名) を取得し、そこにスクリプトを配置してメールを送信する方が簡単だと思います.

于 2012-11-28T06:23:08.987 に答える