使用PHP邮件的效果()
我有一个项目,在这个项目中,我使用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' . "
";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "
";
// Additional headers
$headers .= 'From: admin<admin@admin.com>' . "
"; // might need to get rid of this soon
// Mail it
mail($to, $subject, $message, $headers);
}
解决方案
mail()
函数通常很快。我过去曾将其用于海量电子邮件系统,即每秒处理数百封电子邮件。
我建议检查您的系统如何配置为发送电子邮件。mail()
通常使用系统的Sendmail安装(或后缀)。您应该考虑检查日志,看看那里是否有问题。
相关文章