2015-12-02 103 views
1

我想用发送电子邮件,但无法做到,而我正在将数据存入MySQL数据库。PHP使用邮件功能发送电子邮件

我发布了我的整个代码,请检查并让我知道错误在哪里。

$objConnect = mysql_connect("localhost","username","pwd"); 
$objDB = mysql_select_db("database"); 

$strName = $_POST["name"]; 
$strEmail = $_POST["email"]; 

$to  = $strEmail; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

$strSQL = "insert into data (name, email) VALUES ('".$strName."','".$strEmail."')"; 
$objQuery = mysql_query($strSQL); 

if(!$objQuery) 
    { 
     $arr['StatusID'] = "0"; 
     $arr['Message'] = "Cannot save data!"; 
    } 
    else 
    { 
     mail($to, $subject, $message, $headers); 
     $arr['StatusID'] = "1"; 
     $arr['Message'] = "Data saved successfully";  
    } 

    mysql_close($objConnect); 

    echo json_encode($arr); 
+0

执行'var_dump(mail($ to,$ subject,$ message,$ headers))'并查看它返回的内容。 –

+0

你是否在本地进行测试? –

+0

@Sougata变得无法上传 – Sun

回答

0

此代码是真正的工作......

<?php 
    $to  = '[email protected]'; 
    $subject = 'the subject'; 
    $message = 'hello'; 
    $headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    $errLevel = error_reporting(E_ALL^E_NOTICE); // suppress NOTICEs 
    if(!mail($to, $subject, $message, $headers)){ 
     error_reporting($errLevel); 
    } 
?> 
+0

你能解释一下OP做了什么错误,以及你的代码如何帮助解决它?只是代码是不够的。 –

0

你有没有在你的代码中加入mail()函数,那么它将如何发送邮件,并从localhost发送电子邮件也应适当配置。下面的代码将在服务器上运行。

$objConnect = mysql_connect("localhost","username","pwd"); 
$objDB = mysql_select_db("database"); 
$strName = $_POST["name"]; 
$strEmail = $_POST["email"]; 
$to  = $strEmail; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
      'Reply-To: [email protected]' . "\r\n" . 
      'X-Mailer: PHP/' . phpversion(); 
if(!mail($to, $subject, $message, $headers)){ 
    echo 'Mail cant be send'; 
} 
else 
{ 
$strSQL = "insert into data (name, email) VALUES ('".$strName."','".$strEmail."')"; 
$objQuery = mysql_query($strSQL); 
if(!$objQuery) 
    { 
    $arr['StatusID'] = "0"; 
    $arr['Message'] = "Cannot save data!"; 
} 
else 
{ 
    mail($to, $subject, $message, $headers); 
    $arr['StatusID'] = "1"; 
    $arr['Message'] = "Data saved successfully";  
} 
echo json_encode($arr); 
    } 
    mysql_close($objConnect); 
+0

我已经试过你的方式还没有完成 – Sun

+0

你是从服务器还是从本地主机?首先通过发送一个测试邮件来检查邮件服务器是否正常工作。 –

+0

@孙先生简单地检查邮件服务器是否工作 –

相关问题