0

Windows XP Pro を使用して、XHTML でゼロから Web サイトをコーディングしました。これには、PHP の連絡先フォームが含まれます。Web サイトは C ドライブの XAMPP フォルダーにあり、自宅のコンピューターの localhost で実行されています。

フォームからメール テスト メッセージを実際のメール アドレスに送信して、フォームをテストしたいと考えています。SMTP = localhostPHP.iniファイルのをISPサーバーアドレスに 変更し、行をアクティブにしてこれを試しました。

sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t" 

下の行の先頭にセミコロンを追加し、

sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"  

次のように、ライブメールアドレスを連絡フォームコードに配置しました。

<?php

//send email

    if(mail('my@emailaddress.net','Contact 

form',$msg, 'From:postmaster@localhost')) {

?>

if(POST) function次に、代わりにメールアドレスを下に置く別の方法を試しました。

<?php

if($_POST) {

$fName = $_POST['fName'];

$fEmail = $_POST['fEmail'];

$fComments = $_POST['fComments'];

$fCaptcha = $_POST['fCaptcha'];

$random_string = $_POST['random_string'];

$to = "myemailaddress@myisp.net";

?>

それに応じて、スクリプトの下部にあるメール機能を変更しました。

<?php

//send email

mail($to, $fName, $fEmail, $fComments);

if(mail($to,'Contact form',$msg, 'From:postmaster@localhost')) {

    header("Location: ../email-thankyou.htm");

?>

送信ボタンをクリックすると、最初は ISP サーバーからエラー ページが生成され、その後の試みでは Firefox ブラウザからエラー ページが生成されたので、何かが起こっているのですが、ライブ メール アカウントを確認してもメッセージの兆候はありません。到着。

また、2 番目の方法を試したときに送信ボタンをクリックすると、フォーム自体が消え、ページの背景色だけが残っていることがわかりました。

スタック オーバーフローで同様のクエリを検索し、いくつかの提案を試みましたが成功しませんでした。

XAMPP バージョン 3.1.0.3.1.0 を使用しています。私は XHTML コーディングに精通していますが、PHP プログラミングに関してはまったくの初心者です。PHP を使用するこのプロジェクトは、PHP を理解するための最初の試みであり、特に mail($to, and if(mail($to, out正しく。

Cドライブにsmtp4dev 2009をダウンロードしてインストールすることで、この質問に対する答えを見つけました。この小さなプログラムを XAMPP と組み合わせて使用​​することで、コンタクト フォームをテストし、メッセージを正常に受信できるようになりました。他に必要だったのは、XAMPP php ini ファイルを次のように構成することだけでした。

[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 = postmaster@localhost

; XAMPP IMPORTANT NOTE (1): If XAMPP is installed in a base directory with spaces      (e.g. c:\program filesC:\xampp) 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 = "\"C:\xampp\sendmail\sendmail.exe\" -t"

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

送信ボタンをクリックするとフォームが消えるという以前の問題に関する限り、スクリプトの一部が間違った場所にあり、それを配置する際に試行錯誤した後、この問題は解決されました。

4

1 に答える 1