2015-11-02 106 views
0

此处新提示,谢谢。我有表格将数据插入到表格中。插入后,邮件()应该发送一个通知给特定的客户端。邮件()的作品,如果我硬代码的电子邮件地址,而不是当地址来形成DB:邮件()与来自mysql表的电子邮件

mail('email-from-table','Subject','Body'); 
+0

需要看到更多的代码比那 – 2015-11-02 20:13:23

+0

欢迎来到堆栈溢出。您需要扩展此代码并提供更多代码。具体来说,你使用了哪些变量,你如何从数据库中收集细节,你的查询是什么?预期的结果是什么?请修改您的帖子并提供更多详细信息。 – Twisty

+0

你能回应你的所有领域检查格式和削减等。 –

回答

0

您需要从数据库中收集电子邮件地址,并遍历结果。另外mail()是最不详细的;我会建议使用PEAR或其他SMTP库。

<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world"); 

/* check connection */ 
if ($mysqli->connect_errno) { 
    printf("Connect failed: %s\n", $mysqli->connect_error); 
    exit(); 
} 

/* Select queries return a resultset */ 
if ($result = $mysqli->query("SELECT email FROM table")) { 
    printf("<p>Select returned %d rows.</p>\r\n", $result->num_rows); 
    echo "<ul>\r\n"; 
    while($row = $result->fetch_assoc()){ 
     if(mail($row['email'], 'My Spam Subject', 'My Spam Email')){ 
      echo "<li>Spam sent to {$row['email']}</li>\r\n"; 
     } else { 
      echo "<li>Mail failed.</li>\r\n"; 
     } 
    } 
    echo "</ul>\r\n"; 
    /* free result set */ 
    $result->close(); 
} 
$mysqli->close(); 
?> 
2

问题是你在你的变量中使用单引号。只有双引号中的变量才会被评估。

所以你要发送电子邮件的$ EMAIL_TO

mail('$email_to','',''); 

的actull电子邮件地址应该是

mail("$email_to",'',''); 

或更常见

mail($email_to,'',''); 
相关问题