发邮件概述Seagull提供了SGL_Emailer类用于发送邮件. 它是通过封装PEAR::mail实现的,因此它有许多可用的选项. Seagull提供的模块中,有相当多使用SGL_Emailer来发邮件的例子. 例子发送一个HTML邮件: $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(); 为email添加多个附件
你可以为单个email添加多个附件。当你给$option 'filepath'传递一个数组,数组中的每个元素将被作为附件添加到邮件。当参数$options 'mimetype'是一个和'filepath'参数具有同样个数的元素时,每个附件将会有各自独立的mimetype值,否则所有的附件将使用同一个mimetype值。 下面这个例子每个附件有各自的mimetype:
下面这个例子所有的附件具有一样的mimetype:
使用SGL_Emailer2中改进的功能
使用SGL_Emailer2你可以同时以文本和html发送email,或者你可以将你的htmlemail自动转化成文本。,转化索要你安装了Horde的Text_Filter库,你可以使用下列命令安装这个库:
例子PHP code ... // delivery options $aDeliveryOpts['toEmail'] = 'your data here'; $aDeliveryOpts['toRealName'] = 'your data here'; ... $aDeliveryOpts['fromEmail'] = 'your data here';. $aDeliveryOpts['fromRealName'] = 'your data here'; // template vars $aTplOpts['var1'] = 'val1'; $aTplOpts['var2'] = 'val2'; $aTplOpts['var3'] = 'val3'; // obligatory template options $aTplOpts['moduleName'] = 'mymodule'; $aTplOpts['htmlTemplate'] = 'mytemplate.html'; $aTplOpts['textTemplate'] = 'mytemplate.txt'; // optionally send emails to queue for later sending $aQueueOpts['sendDelay'] = 'your send delay';. $aQueueOpts['groupId'] = 'your group'; $aQueueOpts['userId'] = 'your user ID'; $aQueueOpts['batchId'] = 'your batch ID'; $ok = SGL_Emailer2::send($aDeliveryOpts, $aTplOpts, $aQueueOpts); <php> HTML template <code> ... <p> Var1: {var1}<br /> Var2: {var2}<br /> Var3: {var3}<br /> </p> <p> Bye! </p> ... Text template
...
$bodyTxt = <<< TXT
...
Var1: {$aParams['var1']}
Var2: {$aParams['var2']}
Var3: {$aParams['var3']}
Bye!
...
TXT;
...
更多信息:
$aDeliveryOpts['mode'] = MODE_TEXT_ONLY;
possible keys:
* sendDelay
* groupId
* userId
* batchId
这个参数是作为SGL_Emailer2::send可选的第三个参数, ie $ok = SGL_Emailer2::send($aDeliveryOpts, $aTplOpts, $aQueueOpts); |