我有一个项目,我使用PHP的内置mail()函数发送电子邮件,我只用一小部分HTML和非常有限的CSS(两个表和一点CSS)一次发送一封电子邮件风格的头部),但服务器似乎做得非常慢(以至于管理员经常发送电子邮件的页面超时)
所以我的问题是这个; mail()会在服务器上放置高工作负载(不确定这是否是正确的术语)还是只是我使用的服务器是垃圾?
我是否值得为这类事情研究像http://pear.php.net/package/Mail这样的项目?
编辑:
以下是相关代码:
$query = "SELECT email FROM $a_table WHERE id='$Id'";
$result = mysql_query($query) or die("Query failed: ".mysql_error());
$mail_to = mysql_fetch_row($result);
$mail_to = $mail_to[0];
// multiple recipients
$to = $mail_to;
// subject
$subject = 'notification';
// message
$message = '<html>
<head>
<title>title goes here</title>
<style type="text/css">
table { border: 1px solid #000;}
table tr th { background-color: #d8d8d8; border-bottom: 1px solid #000}
table tr th, table tr td { padding: 4px; text-align: center; }
</style>
</head>
<body>
<h1>header goes here</h1>
<table cellspacing="0">
<tr>
<th>th1</th><td>'.$var.'</td>
</tr>
<tr>
<th>th2</th><td>'.$var2.'</td>
</tr>
<tr>
<th>th3</th><td>'.$var3.'</td>
</tr>
</table>
<p> </p>
<table cellspacing="0">
<tr>
<th colspan="13">Key</th>
</tr>
<tr>
<th>G</th>
<th>I</th>
<th>L</th>
<th>M</th>
<th>N</th>
<th>O</th>
<th>Q</th>
<th>R</th>
<th>S</th>
<th>V</th>
<th>W</th>
<th>C</th>
<th>?</th>
</tr>
<tr>
<td>G</td>
<td>I</td>
<td>L</td>
<td>M</td>
<td>U</td>
<td>O</td>
<td>Q</td>
<td>R</td>
<td>S</td>
<td>V</td>
<td>W</td>
<td>C</td>
<td>R</td>
</tr>
</table>
</body>
</html>
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'From: admin<admin@admin.com>' . "\r\n"; // might need to get rid of this soon
// Mail it
mail($to, $subject, $message, $headers);
}
答案 0 :(得分:1)
mail()
功能通常非常快。我过去曾使用过大量电子邮件系统,而且每秒处理数百封电子邮件。
我建议您检查系统配置方式以发送电子邮件。 mail()
通常使用系统的sendmail安装(或后缀)。您应该考虑检查日志以查看是否存在问题。