【问题标题】:my contact form php won't send an email via smtp to my gmail account我的联系表格 php 不会通过 smtp 向我的 gmail 帐户发送电子邮件
【发布时间】:2014-03-29 09:33:15
【问题描述】:

我正在尝试通过 gmail 插入 php 代码 SMTP,以便它可以通过 smtp.gmail.com 发送,但它似乎不起作用。我有人可以帮我一把,这样我就可以让它工作了,这将是一个很大的帮助。

附言没有这个脚本,它可以在已经有 smtp 设置的服务器上工作。我正在尝试插入它,以便可以在没有邮件服务器的另一台服务器上使用它。

  `($host = "ssl://smtp.gmail.com";
$port = "465";
$username = "<wilkinsonsport2014@gmail.com>";
$password = "********";)`

`

    $host = "ssl://smtp.gmail.com";
$port = "465";
$username = "<wilkinsonsport2014@gmail.com>";
$password = "********";

$mail_to = 'wilkinsonsport2014@gmail.com'; 

$name = $_POST['sender-name'];
$mail_from = $_POST['sender-email'];
$phone = $_POST['sender-phone'];
$message = $_POST['sender-message'];

$subject = 'localhost/wilkinson-sport Messaggio da un visitatore ' . $name;

$body_message .= 'Da: ' . $name . "\r\n";
$body_message .= 'E-mail: ' . $mail_from . "\r\n";
$body_message .= 'Telfono: ' . $phone . "\r\n";
$body_message .= 'Commenti: ' . $message;


$headers .= 'Da: ' . $mail_from . "\r\n";
$headers .= 'Rispondi a: ' . $mail_from . "\r\n";

$mail_sent = mail($mail_to, $subject, $body_message, $headers); 

if ($mail_sent == true){ 

if (isset($_POST) && $_POST['accetto'] == "si")
{               
    echo ("<script>alert('Hai accettato il consenso privacy.')</script>");
}
else if (isset($_POST) && $_POST['accetto'] == "no")
{
    echo ("<script>alert('Non hai accettato il consenso privacy. Riprova!')</script>");
}
else if (isset($_POST) && $_POST['entra'] == false)
{
    echo ("<script>alert('Devi accettare il consenso privacy per accedere!')</script>");
} 
} 


?>`

【问题讨论】:

    标签: php email smtp send


    【解决方案1】:

    尝试使用PHPMailer,一个邮件传输类https://github.com/PHPMailer/PHPMailer

    【讨论】:

    • 没错!我认为 OP 描述的问题与 TLS 有关。我看过关于使用 PHPMailer 解决的 gmail 问题的 SO 帖子。
    • 我认为您应该不费吹灰之力。查看 PHPMailer 文档。它非常易于使用。
    • 我如何创建一个 PHPMailer 实例?
    • 对于一个新实例$mail = new PHPMailer;这里是"A Simple Example"
    • 是的,我明白了,我已经尝试过了,但仍然无法正常工作。取下这段脚本 ($host = "ssl://smtp.gmail.com"; $port = "465"; $username = ""; $password = "**** ****";) 其余代码在邮件服务器上完美运行,我将它放在我的网站中的在线网络服务器中。我想使用其余代码,但添加 smtp 代码以在另一个没有邮件服务器的服务器上的另一个站点上使用它。
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 2015-10-09
    • 2010-10-08
    • 2015-08-17
    • 2011-08-12
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多