使用PHP邮件的效果()

时间:2012-01-30 11:57:56

标签: php sendmail

我有一个项目,我使用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>&nbsp;</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);
    }

1 个答案:

答案 0 :(得分:1)

mail()功能通常非常快。我过去曾使用过大量电子邮件系统,而且每秒处理数百封电子邮件。

我建议您检查系统配置方式以发送电子邮件。 mail()通常使用系统的sendmail安装(或后缀)。您应该考虑检查日志以查看是否存在问题。