【发布时间】:2023-03-31 11:45:01
【问题描述】:
我是这个论坛的新手,也是编码 php 的小新手。
所以这里是主题,我正在使用 phpMailer 发送电子邮件。但它只适用于本地主机。我使用它工作正常,当我将项目上传到网络主机时,它立即停止正确发送。而且我连一行都没改。
原来如此。
<?php
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['phone']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "Nenhum argumento fornecido.";
return false;
}
require 'class.phpmailer.php';
require 'PHPMailerAutoload.php';
$mail = new PHPmailer();
$mail->setLanguage('pt');
$host = 'smtp.live.com';
$username = 'myemail@hotmail.com';
$password = 'mypassword';
$port = 587;
$secure = 'tls';
$from = $username;
$fromName = 'Pedido-'.$_POST['name'];
$mail->isSMTP();
$mail->Host = $host;
$mail->SMTPAuth = true;
$mail->Username = $username;
$mail->Password = $password;
$mail->Port = $port;
$mail->SMTPSecure = $secure;
$mail->From = $from;
$mail->FromName = $fromName;
$mail->addReplyTo($from, $fromName);
$mail->addAddress('toemail@gmail.com', $_POST['name']);
$mail->isHTML(true);
$mail->Charset = 'utf-8';
$mail->WordWrap = 70;
$mail->Subject = 'Envios do formulario';
$mail->Body = '<b>Nome:</b> '.$_POST['name'];
$mail->Body .= '<br><b>Responder para:</b> '.$_POST['email'];
$mail->Body .= '<br><b>Telefone:</b> '.$_POST['phone'];
$mail->Body .= '<br><b>Mensagem:</b> <br>'.$_POST['message'];
$mail->AltBody = '';
$send = $mail->Send();
return 0;
?>
在本地主机上运行完美。
【问题讨论】:
-
您的服务器有邮件服务器吗?你可以使用吗?
-
输出错误是什么?
标签: php email localhost phpmailer