簡體   English   中英

如何使用PHP的mail()函數發送電子郵件

[英]How to send email with PHP's mail() function

我做了一個小的代碼,不發送任何電子郵件。 它給了我空白頁。 有什么建議么?

<?php 
$result_array1 = array();
$result_array2 = array();
$result_array3 = array();
$result_array4 = array();
$sql1 = "SELECT * FROM  `test_thing`";
$result1 = mysql_query("$sql1") or die($sql1.mysql_error());
while($row1 = mysql_fetch_array($result1))
{
   $result_array1[] = $row1['email'];
   $result_array2[] = $subject;
   $result_array3[] = $message;
   $result_array4[] = $header;
}
$sentmail = mail($result_array1,$result_array2,$result_array3,$result_array4);
?>
It gives me a blank page.

其實應該。 您不會在顯示的代碼中使用輸出函數。 如果您希望看到錯誤消息,請確保已啟用display_errors並將error_reportingE_ALL

Mail將字符串作為參數,而不是數組。 您需要執行for循環並在每個數組上為其索引調用郵件。

while($row1 = mysql_fetch_array($result1))
{
   $result_array1[] = $row1['email'];
   $result_array2[] = $subject;
   $result_array3[] = $message;
   $result_array4[] = $header;
}

我希望你的意思是:

while($row1 = mysql_fetch_array($result1))
{
   $result_array1 = $row1['email'];
   $result_array2 = $subject;
   $result_array3 = $message;
   $result_array4 = $header;
}

mail()需要字符串。 除非您要遍歷並發送多封郵件,否則您需要重新設計一下代碼。

如果這是您的完整代碼,則數據庫未正確初始化。 閱讀mysql_connect()上的文檔以獲取更多信息和示例。

另外,嘗試回顯一些調試數據,以查看您實際上是從數據庫中獲取了一些數據。

為什么不呢

<?php 
  $result_array1 = array();
  $result_array2 = array();
  $result_array3 = array();
  $result_array4 = array();
  $sql1 = "SELECT * FROM  `test_thing`";
  $result1 = mysql_query("$sql1") or die($sql1.mysql_error());
  while($row1 = mysql_fetch_array($result1))
  {
    $sentmail = mail($row1['email'],$subject,$message,$header);
  }
?>

我認為您在這里不只一個問題。 首先,您必須連接到數據庫。 如答案1所示,請閱讀mysql手冊的php手冊,特別是mysql_connect函數。 其次,這實際上是錯誤的。 雖然(x = any_function)不會將any_function結果歸於變量'x'。 'x = any_function'返回布爾值,僅此而已。 您可以編寫類似於:while((x = any_function()))或您的情況:while(($ row1 = mysql_fetch_array($ result1)))其中'$ row1 = mysql_fetch_array($ result1)'屬性為$ rows1值mysql_fecth_array和'(($ row1 = mysql_fetch_array($ result1)))返回的布爾值將控制while結構。 希望對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM