如何使用CodeIgniter FrameWork php发送邮件?

时间:2011-04-07 01:54:30

标签: php codeigniter

如何使用CodeIgniter Framework php发送邮件?

安全性是多少?

2 个答案:

答案 0 :(得分:1)

看看:

http://codeigniter.com/user_guide/libraries/email.html

你在想什么样的安全?完全取决于您的设计。

答案 1 :(得分:0)

您是否尝试过CI的社区receipt或查看guidehere是关于如何将PHPMailer安装为CI插件的一些描述。

你也可以尝试标准的php函数mail

有一天,我为这个函数编写了一个包装器,如下所示:

function sendmail($from, $to, $subject, $body, $isHtml = false, $encoding = 'windows-1251', $headers = -1) {
  GLOBAL $GLOBAL_SITE_DATA;
  $headersGlue = "\r\n";
  if (empty($encoding)) {
    $encoding = 'windows-1251';
  }
  $bracketPos = strpos($from,' 'Type here whatever you want!',
    'From' => $from,
    'Reply-To' => $replyTo,
    'Return-Path' => $returnPath,
    'MIME-Version' => '1.0',
    'Content-Transfer-Encoding' => '8bit',//'base64',
    'Content-Type' => 'text/'.($isHtml ? 'html':'plain').';  charset='.$encoding,
  );
  if (sizeof($headers) && $headers != -1) {
    foreach ($defaultHeaders as $headerKey => $header) {
      if (!isset($headers[$headerKey])) {
        $headers[$headerKey] = $header;
      }
    }
  }
  else if ($headers == -1) {
    $headers = $defaultHeaders;
  }

  $sHeaders = false; $sendWithHeaders = false;
  if (sizeof($headers) && $headers != -1) {
    array_walk($headers, create_function('&$v,$k', '$v = $k.": ".$v;'));
    $sHeaders = implode($headersGlue, $headers).$headersGlue;
    $sendWithHeaders = true;
  }
  return mail($to, '=?'.$encoding.'?B?'.base64_encode($subject).'?=', $body, ($sendWithHeaders ? $sHeaders : NULL));
}

您可能希望更改默认编码(Windows-1251适用于西里尔语),并且可能会进行一些改进。

希望,这有帮助。