相关疑难解决方法(0)

这是用PHP发送电子邮件的正确方法吗?

我有点担心,如果这个功能发送的电子邮件可以在大多数电子邮件和网络邮件客户端上正确识别,特别是我最担心的是这个问题:

  • UTF-8声明和附件是否形成良好?
  • 我需要使用quoted_printable_decode()吗?如果是的话,在哪里?
  • 内容传输编码:7位还是8位?我总是看到7但是因为我发送的是UTF-8编码的邮件,我不确定.
  • 我应该使用mb_send_mail()还是mail()就够了?

编辑:我不知道为什么,但代码没有正确显示,我把它提供给@ http://gist.github.com/104818

编辑2:我知道其他替代方案(图书馆)的电子邮件处理,但为了我自己的好奇心和知识,我只想知道这个代码是100%好,还是它的错误.

function Email($name, $from, $to, $subject, $message, $bcc = null, $attachments = null)
{
    ini_set('SMTP', 'localhost');
    ini_set('sendmail_from', $from);

    $name = filter_var($name, FILTER_SANITIZE_STRING);
    $from = filter_var($from, FILTER_SANITIZE_EMAIL);
    $subject = filter_var($subject, FILTER_SANITIZE_STRING);

    $boundary = '_Boundary_' . md5(microtime(true) . mt_rand(0, PHP_INT_MAX));

    $headers = array
    (
        'MIME-Version: 1.0',
        'Content-Type: multipart/mixed; boundary="Mixed' . $boundary . '"',
        'Date: ' . date('r', time()),
        'From: "' . $name . '" <' . $from . '>',
        'Reply-To: "' . $name . '" …
Run Code Online (Sandbox Code Playgroud)

php email encoding utf-8

16
推荐指数
2
解决办法
8223
查看次数

标签 统计

email ×1

encoding ×1

php ×1

utf-8 ×1