发送email邮件是在开发过程中经常要做的一项工作,而且相对比较复杂,尤其是程序员需要面对不同的mail后台,我们都知道在PHP下发送email 除了可以使用php的内置函数mail,或者是一个sendmail程序,或者通过smtp服务器,那么服务器到底是使用什么mail后台呢,程序员是不 得而知的而且你还需要考虑到程序移植的可能性?Seagull框架为你提供了SGL_Emailer类用来发送email邮件。事实上, SGL_Emailer只是对PEAR::mail的封装,由于PEAR::mail考虑到了不同的mail后台,所以你就不必考虑这些问题了,你的程序 完全可以在不同的服务器上正常的收发邮件。这是我们选择Seagull框架的一个理由:Seagull架构在庞大的PEAR开源库之上,完全遵循PEAR 的开发规范,完全和PEAR兼容。你慢慢的就会发现,使用Seagull框架开发,你会节省掉平时用来处理诸如发送邮件等头疼的而又常见的问题。
看一下在Seagull下面,发邮件竟是这么简单,而不必考虑mail后台是什么:
那 如何添加附件呢?在Seagull框架内为邮件添加一个或多个附件也是非常简单的,你所需要做的就是告诉Seagull你的附件在什么地方(即文件路 径),还有该文件的类型(即附件的mimetype值)。你只需要修改上面例子中的$option数组,给它传递类似如下这样的数组即可:
即 在$options数组内添加filepath和mimetype两个元素。注意,如果filepath和mimetype两个元素对应的数组元素个数应 该要对应。当然了,如果各个附件的miemetype是一样的,mimetype对应的数组可以只用一个元素即可,所有的附件将全部采用这个 mimetype值。
看一下在Seagull下面,发邮件竟是这么简单,而不必考虑mail后台是什么:
- $options = array(
- 'toEmail' => $conf['email']['info'],
- 'toRealName' => 'Admin',
- 'fromEmail' => $oContact->email,
- 'fromRealName' => $contacterName,
- 'replyTo' => $oContact->email,
- 'subject' => 'Contact Enquiry from ' . $conf['site']['name'],
- 'type' => $oContact->type,
- 'body' => $oContact->comment,
- 'template' => SGL_MOD_DIR . '/' . $this->module . '/templates/' .
- $_SESSION['prefs']['theme'] . '/email_contact_us.php',
- );
- $message = & new SGL_Emailer($options);
- $message->prepare();
- return $message->send();
- $options = array(
- ...
- 'filepath' => array('path/to/gif','path/to/jpg'),
- 'mimetype' => array('image/gif','image/jpeg'),
- );