У меня есть проект, по которому я отправляю электронное письмо с помощью встроенной функции PHP(), я только отправляю по одному электронному письму с небольшим количеством HTML и очень ограниченным CSS (две таблицы и немного CSS в голове для стилизации), но сервер, похоже, делает это очень медленно (настолько, что страница, по которой администратор отправляет сообщение по электронной почте часто отключается)Влияние использования PHP mail()
Так что мой вопрос в том, ; делает ли почта() высокой рабочей нагрузкой на сервере (не уверен, что это правильный термин), или это только то, что сервер, который я использую, является мусором?
Стоит ли мне рассматривать такие проекты, как http://pear.php.net/package/Mail для такого рода вещей?
EDIT:
Вот код в вопросе:
$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<[email protected]>' . "\r\n"; // might need to get rid of this soon
// Mail it
mail($to, $subject, $message, $headers);
}
Не могли бы вы разместить код? Нельзя распространять почту() на тайм-аут страницы, это, вероятно, что-то еще. – Swadq
Всегда полезно использовать чью-то хорошо проверенную работу для чего угодно. Я использую [SwiftMailer] (http://swiftmailer.org/), я вижу, что многие рекомендуют [PHPMailer] (http://phpmailer.worxware.com/), я видел, как несколько человек злоупотребляют PEAR :: Mail, хотя Я не использовал его достаточно, чтобы прокомментировать. Отправка сообщения электронной почты занимает несколько секунд (возможно, менее одного), поэтому, если ваши запросы подсчитывают, что-то еще происходит здесь. Даже плохо настроенный сервер не должен иметь никаких проблем с этим с точки зрения системных ресурсов, это, скорее всего, проблема с сетью или полностью не связана с почтой. – DaveRandom
Что такое PHP Mailer: http://phpmailer.worxware.com –