0

私はPHPの初心者で、ウェブサイトを構築しています。ウェブサイトは、人々が私にメールを送ってくれるはずです。問題は、PHP を介してメールを送信することについて何も知らなかったということです。オンラインで調べて、見つけたコードを使用してみました。私のプログラムはメールを送信したと言っていますが、たまたまメールを受け取ったことはありません。おそらく、Apacheサーバーを使用してphpをテストしているためだと思いましたが、実際のサーバーにアップロードするとうまくいくのではないでしょうか??(はい、これは質問でした)

念のため、これは私のコードであり、私のウェブサイトのすべての php コードです。フォームも問題なく動作します。問題はありません。

<?php
if (isset($_POST['name'])) {
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = "From: " . $_POST['name'] . ", " . $_POST['email'] . "\n Message: " .    $_POST['message'];
try {
    mail("serdarufuk95@gmail.com", $subject, $message, " ");
    unset($_POST['name']);
    header("Location: success.php");

}
catch (PDOException $e)
{

    include 'index.html';
    exit();
}
exit();

} 
include 'contact2.php';

?>

コードに問題はありますか?または、ライブラリなどから何かを呼び出す必要がありますか、それともコードがありません! これを機能させるのを手伝ってください!それを実行すると、success.php に移動するので、コードに問題はないと思っていましたが、皆さんよくご存知でしょう。

4

1 に答える 1

1

サーバーのメール構成がまだ設定されていない場合、実サーバーにアップロードした後に機能しない可能性があります。したがって、PHP を介してメールを送信するには、より優れたシンプルなバージョンを使用することをお勧めします: PHPMailer

require_once("class.phpmailer.php");
$mail = new PHPMailer();

$mail->AddAddress("mail@domain.com","Display name");
$mail->Subject= "Mail subject";
$mail->Body= "Mail content";

$mail->IsSMTP();
$mail->Host = "mail.domain.com";
$mail->SMTPAuth = true;
$mail->Username = "formmail@domain.com";
$mail->Password = "123456";
$mail->IsHTML(true); //true if you want to send html content. false for plain text message
$mail->From = $_POST['Email'];
$mail->FromName = $_POST['Name'];
$mail->Send();

ここをクリックしてクラスをダウンロードできます

于 2013-10-09T20:39:31.063 に答える