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 回答