您好,欢迎来到世旅网。
搜索
您的当前位置:首页发送邮件方法

发送邮件方法

来源:世旅网
发送邮件方法.txt看一个人的的心术,要看他的眼神;看一个人的身价,要看他的对手;看一个人的底牌,要看他的朋友。明天是世上增值最快的一块土地,因它充满了希望。/** * 邮件发送 *

* @param: $user_name[string] 接收人姓名 * @param: $email_addr[string] 接收人邮件地址 * @param: $title[string] 邮件标题 * @param: $content[string] 邮件内容

* @param: $type[int] 0 普通邮件, 1 HTML邮件

* @param: $notification[bool] true 要求回执, false 不用回执 *

* @return boolean */

function send_mail($user_name, $email_addr, $title, $content, $type = 0, $notification=false) {

/* 如果邮件编码不是EC_CHARSET,创建字符集转换对象,转换编码 */ if ($GLOBALS['_CFG']['mail_charset'] != EC_CHARSET) {

$name = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $name);

$subject = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $subject);

$content = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $content);

$GLOBALS['_CFG']['shop_name'] = ecs_iconv(EC_CHARSET, $GLOBALS['_CFG']['mail_charset'], $GLOBALS['_CFG']['shop_name']); }

$charset = $GLOBALS['_CFG']['mail_charset']; /**

* 使用mail函数发送邮件 */

if ($GLOBALS['_CFG']['mail_service'] == 0 && function_exists('mail')) {

/* 邮件的头部信息 */

$content_type = ($type == 0) ? 'Content-Type: text/plain; charset=' . $charset : 'Content-Type: text/html; charset=' . $charset; $headers = array();

$headers[] = 'From: \"' . '=?' . $charset . '?B?' . base64_encode($GLOBALS['_CFG']['shop_name']) . '?='.'\" <' . $GLOBALS['_CFG']['smtp_mail'] . '>';

$headers[] = $content_type . '; format=flowed'; if ($notification) {

$headers[] = 'Disposition-Notification-To: ' . '=?' . $charset . '?B?' . base64_encode($GLOBALS['_CFG']['shop_name']) . '?='.'\" <' . $GLOBALS['_CFG']['smtp_mail'] . '>'; }

$res = @mail($email, '=?' . $charset . '?B?' . base64_encode($subject) . '?=', $content, implode(\"\\r\\n\

if (!$res) {

$GLOBALS['err'] ->add($GLOBALS['_LANG']['sendemail_false']);

return false; } else {

return true; } } /**

* 使用smtp服务发送邮件 */ else {

/* 邮件的头部信息 */

$content_type = ($type == 0) ?

'Content-Type: text/plain; charset=' . $charset : 'Content-Type: text/html; charset=' . $charset;

$content = base64_encode($content);

$headers = array();

$headers[] = 'Date: ' . gmdate('D, j M Y H:i:s') . ' +0000'; $headers[] = 'To: \"' . '=?' . $charset . '?B?' . base64_encode($name) . '?=' . '\" <' . $email. '>';

$headers[] = 'From: \"' . '=?' . $charset . '?B?' . base64_encode($GLOBALS['_CFG']['shop_name']) . '?='.'\" <' . $GLOBALS['_CFG']['smtp_mail'] . '>'; $headers[] = 'Subject: ' . '=?' . $charset . '?B?' . base64_encode($subject) . '?=';

$headers[] = $content_type . '; format=flowed'; $headers[] = 'Content-Transfer-Encoding: base64'; $headers[] = 'Content-Disposition: inline'; if ($notification) {

$headers[] = 'Disposition-Notification-To: ' . '=?' . $charset . '?B?' . base64_encode($GLOBALS['_CFG']['shop_name']) . '?='.'\" <' . $GLOBALS['_CFG']['smtp_mail'] . '>'; }

/* 获得邮件服务器的参数设置 */

$params['host'] = $GLOBALS['_CFG']['smtp_host']; $params['port'] = $GLOBALS['_CFG']['smtp_port']; $params['user'] = $GLOBALS['_CFG']['smtp_user']; $params['pass'] = $GLOBALS['_CFG']['smtp_pass'];

if (empty($params['host']) || empty($params['port'])) {

// 如果没有设置主机和端口直接返回 false

$GLOBALS['err'] ->add($GLOBALS['_LANG']['smtp_setting_error']);

return false; } else {

// 发送邮件

if (!function_exists('fsockopen')) {

//如果fsockopen被禁用,直接返回

$GLOBALS['err']->add($GLOBALS['_LANG']['disabled_fsockopen']);

return false; }

include_once(ROOT_PATH . 'includes/cls_smtp.php'); static $smtp;

$send_params['recipients'] = $email; $send_params['headers'] = $headers;

$send_params['from'] = $GLOBALS['_CFG']['smtp_mail']; $send_params['body'] = $content;

if (!isset($smtp)) {

$smtp = new smtp($params); }

if ($smtp->connect() && $smtp->send($send_params)) {

return true; } else {

$err_msg = $smtp->error_msg(); if (empty($err_msg)) {

$GLOBALS['err']->add('Unknown Error'); } else {

if (strpos($err_msg, 'Failed to connect to server') !== false) {

$GLOBALS['err']->add(sprintf($GLOBALS['_LANG']['smtp_connect_failure'], $params['host'] . ':' . $params['port'])); }

else if (strpos($err_msg, 'AUTH command failed') !== false) {

$GLOBALS['err']->add($GLOBALS['_LANG']['smtp_login_failure']); }

elseif (strpos($err_msg, 'bad sequence of commands') !== false) {

$GLOBALS['err']->add($GLOBALS['_LANG']['smtp_refuse']); } else {

$GLOBALS['err']->add($err_msg); } }

return false; } } } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top