SMTP php邮件发送代码


SMTP php mail sending code

我的php代码如下:

$email_message .= "Full Name: ".clean_string($full_name)."'r'n";
$email_message .= "Email: ".clean_string($email_from)."'r'n";
$email_message .= "Telephone: ".clean_string($telephone)."'r'n";
$email_message .= "Message: ".clean_string($comments)."'r'n";
$headers = 'From: '.$email_from."'r'n".
'Reply-To: '.$email_from."'r'n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $email_message, $headers);
header("Location: $thankyou");
?>
<script>location.replace('<?php echo $thankyou;?>')</script>
<?php
}
die();
?>

它就像一个反馈表。我得到了来访者的姓名、电子邮件、电话和留言。然后我使用php mail()函数将这些详细信息发送到我的邮箱。($email_to变量在我与此文件集成的另一个文件中)。当我试图填写表格并发送时,邮件没有到达我的id。然后我听说SMTP用于发送电子邮件。

但是我不知道如何集成SMTP(我的id在GMail中)。也就是smtp.gmail.com)帮助欣赏

只是猜测,但是您在SMTP中颠倒了字母。(smtp.gmail.com

看看这个:使用GMail SMTP服务器从PHP页面发送电子邮件

抄自答案:

// Pear Mail Library
require_once "Mail.php";
$from = '<from.gmail.com>';
$to = '<to.yahoo.com>';
$subject = 'Hi!';
$body = "Hi,'n'nHow are you?";
$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'johndoe@gmail.com',
        'password' => 'passwordxxx'
    ));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}