未通过php发送的邮件
我有一个简单的脚本,可以在任何其他服务器上正常工作,但在我需要的服务器上,它不未通过php发送的邮件,php,email,sendmail,Php,Email,Sendmail,我有一个简单的脚本,可以在任何其他服务器上正常工作,但在我需要的服务器上,它不 <?php $name = $_POST['Name']; $email = $_POST['Email']; $phone = $_POST['Phone']; $message = $_POST['Message']; $formcontent="Name: $name \n Email: $email \n Phone No: $phone \n Services: $services \n M
<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$phone = $_POST['Phone'];
$message = $_POST['Message'];
$formcontent="Name: $name \n Email: $email \n Phone No: $phone \n Services: $services \n Message: $message";
$recipient = "gaurav.m@momentsworld.com";
$subject = "Client Details";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href='../contact.html' style='text-decoration:none;color:#ff0099;'>Return Home</a>";
?>
虽然相同的脚本在其他服务器上运行良好。。。Plz帮助试试这个:
<?php
ini_set("SMTP","localhost");
ini_set("smtp_port",25);
ini_set("sendmail_from","sender_mail@gmail.com");
$too = "receiver_mail@yahoo.com" ;
$subject = "TEST" ;
$message = "User message" ;
$user_email = "user_mail@gmail.com" ;
$headers = "From: $user_email " ;
$headers .= "Reply-To: $too " ;
$headers .= "Return-Path: $too " ;
$headers .= "X-Mailer: PHP/" . phpversion (). " " ;
$headers .= 'MIME-Version: 1.0' . " " ;
$headers .= 'Content-type: text/html; UTF-8' . " " ;
if( mail ( $too , $subject , $message , $headers )) echo 'SENT' ;
?>
即使它在您的服务器上不工作,您也可以尝试sendmail或Swiftmailer。检查以下链接:
未配置服务器邮件发送设置。请检查服务器邮件发送设置并启用服务器的所有电子邮件发送设置。另一种方法是使用smtp发送邮件。示例代码如下所示:
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_timeout'=>'30',
'smtp_user' => 'your_gmail_account@gmail.com',
'smtp_pass' => 'your gmail password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'_smtp_auth' => TRUE,
'newline' => "\r\n"
);
此服务器中似乎未配置sendmail。请让IT人员为您安装和配置它。除非邮件服务器未运行,否则您将无法发送电子邮件。此外,使用gmail或其他SMTP提供程序将用于测试目的。有了大量的电子邮件,我想他们会把你的IP列入黑名单。我也有同样的问题。所以我转到了PHPMailer图书馆。你可以使用它。这将有助于甚至发送图像。您可以在这里找到PHPMailer文档和示例代码
如果这是一台Linux服务器,我们以前安装过mailx,它允许使用PHP mail()标记
另外,PHPMailer(如上所述)是另一个很好的建议,可以将SMTP应用于远程服务器。您正在本地服务器上运行它?您需要在服务器上安装MTA,如PostFix、qmail或sendmail。
$config = Array(
'protocol' => 'smtp',
'smtp_host' => 'ssl://smtp.googlemail.com',
'smtp_port' => 465,
'smtp_timeout'=>'30',
'smtp_user' => 'your_gmail_account@gmail.com',
'smtp_pass' => 'your gmail password',
'mailtype' => 'html',
'charset' => 'iso-8859-1',
'_smtp_auth' => TRUE,
'newline' => "\r\n"
);