当前位置: 首页>>代码示例>>PHP>>正文


PHP phpmailer::AddStringAttachment方法代码示例

本文整理汇总了PHP中phpmailer::AddStringAttachment方法的典型用法代码示例。如果您正苦于以下问题:PHP phpmailer::AddStringAttachment方法的具体用法?PHP phpmailer::AddStringAttachment怎么用?PHP phpmailer::AddStringAttachment使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在phpmailer的用法示例。


在下文中一共展示了phpmailer::AddStringAttachment方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: email_to_user


//.........这里部分代码省略.........
                echo '<pre>' . "\n";
                $mail->SMTPDebug = true;
            }
            $mail->Host = $CFG->smtphosts;
            // specify main and backup servers
            if ($CFG->smtpuser) {
                // Use SMTP authentication
                $mail->SMTPAuth = true;
                $mail->Username = $CFG->smtpuser;
                $mail->Password = $CFG->smtppass;
            }
        }
    }
    /* not here yet, leave it in just in case.
       // make up an email address for handling bounces
       if (!empty($CFG->handlebounces)) {
           $modargs = 'B'.base64_encode(pack('V',$user->ident)).substr(md5($user->email),0,16);
           $mail->Sender = generate_email_processing_address(0,$modargs);
       }
       else {
           $mail->Sender   =  $CFG->sysadminemail;
       }
       */
    $mail->Sender = $CFG->sysadminemail;
    // for elgg. delete if we change the above.
    // TODO add a preference for maildisplay
    if (is_string($from)) {
        // So we can pass whatever we want if there is need
        $mail->From = $CFG->noreplyaddress;
        $mail->FromName = $from;
    } else {
        if (empty($from)) {
            // make stuff up
            $mail->From = $CFG->sysadminemail;
            $mail->FromName = $CFG->sitename . ' ' . __gettext('Administrator');
        } else {
            if ($usetrueaddress and !empty($from->maildisplay)) {
                $mail->From = $from->email;
                $mail->FromName = $from->name;
            } else {
                $mail->From = $CFG->noreplyaddress;
                $mail->FromName = $from->name;
                if (empty($replyto)) {
                    $mail->AddReplyTo($CFG->noreplyaddress, __gettext('Do not reply'));
                }
            }
        }
    }
    if (!empty($replyto)) {
        $mail->AddReplyTo($replyto, $replytoname);
    }
    $mail->Subject = $textlib->substr(stripslashes($subject), 0, 900);
    $mail->AddAddress($user->email, $user->name);
    $mail->WordWrap = 79;
    // set word wrap
    if (!empty($from->customheaders)) {
        // Add custom headers
        if (is_array($from->customheaders)) {
            foreach ($from->customheaders as $customheader) {
                $mail->AddCustomHeader($customheader);
            }
        } else {
            $mail->AddCustomHeader($from->customheaders);
        }
    }
    if (!empty($from->priority)) {
        $mail->Priority = $from->priority;
    }
    //TODO add a user preference for this. right now just send plaintext
    $user->mailformat = 0;
    if ($messagehtml && $user->mailformat == 1) {
        // Don't ever send HTML to users who don't want it
        $mail->IsHTML(true);
        $mail->Encoding = 'quoted-printable';
        // Encoding to use
        $mail->Body = $messagehtml;
        $mail->AltBody = "\n{$messagetext}\n";
    } else {
        $mail->IsHTML(false);
        $mail->Body = "\n{$messagetext}\n";
    }
    if ($attachment && $attachname) {
        if (ereg("\\.\\.", $attachment)) {
            // Security check for ".." in dir path
            $mail->AddAddress($CFG->sysadminemail, $CFG->sitename . ' ' . __gettext('Administrator'));
            $mail->AddStringAttachment('Error in attachment.  User attempted to attach a filename with a unsafe name.', 'error.txt', '8bit', 'text/plain');
        } else {
            require_once $CFG->libdir . '/filelib.php';
            $mimetype = mimeinfo('type', $attachname);
            $mail->AddAttachment($attachment, $attachname, 'base64', $mimetype);
        }
    }
    if ($mail->Send()) {
        //        set_send_count($user); // later
        return true;
    } else {
        mtrace('ERROR: ' . $mail->ErrorInfo);
        return false;
    }
}
开发者ID:BackupTheBerlios,项目名称:tulipan-svn,代码行数:101,代码来源:elgglib.php

示例2: emailSend

 function emailSend($data)
 {
     $stime = array_sum(explode(' ', microtime()));
     require_once "getmxrr.php";
     $smtp =& $this->params;
     $mail = new phpmailer();
     $mail->Mailer = "smtp";
     $mail->From = isset($data['from']) & !empty($data['from']) ? $data['from'] : 'info@rusoft.ru';
     $mail->FromName = isset($data['fromName']) & !empty($data['fromName']) ? $data['fromName'] : 'RuSoft';
     $mail->Sender = isset($data['from']) & !empty($data['from']) ? $data['from'] : 'info@rusoft.ru';
     $mail->Host = $smtp['host'];
     $mail->CharSet = $smtp['charset'];
     $mail->Encoding = $smtp['encoding'];
     $mail->Port = $smtp['port'];
     $mail->SMTPAuth = $smtp['auth'];
     $mail->Subject = isset($data['subj']) & !empty($data['subj']) ? $data['subj'] : '';
     if ($smtp['auth']) {
         $mail->Username = $smtp['user'];
         $mail->Password = $smtp['pass'];
     }
     // HTML body
     if (isset($data['mess']['html']) & !empty($data['mess']['html'])) {
         $body = $data['mess']['html'];
         $mail->isHTML(true);
     }
     // Plain text body (for mail clients that cannot read HTML)
     if (isset($data['mess']['text']) & !empty($data['mess']['text'])) {
         $text_body = $data['mess']['text'];
         $mail->isHTML(false);
     }
     $mail->AltBody = isset($text_body) ? $text_body : '';
     $mail->Body = isset($body) ? $body : (isset($text_body) ? $text_body : '');
     $i = 1;
     // порядковый номер файла
     //добавляем файлы прикрепленные файлы
     if (isset($data['attachment']) & !empty($data['attachment'])) {
         foreach ($data['attachment'] as $k => $item) {
             if (isset($item['binary']) & !empty($item['binary'])) {
                 $mail->AddStringAttachment($item["binary"], isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             } elseif (isset($item['path']) & !empty($item['path'])) {
                 $mail->AddAttachment($item["path"], isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             }
         }
     }
     // добавляем файлы, отображаемые на странице
     if (isset($data['embedded']) & !empty($data['embedded'])) {
         foreach ($data['embedded'] as $k => $item) {
             if (isset($item['path']) & !empty($item['path'])) {
                 $mail->AddEmbeddedImage($item["path"], isset($item["cid"]) & !empty($item["cid"]) ? $item["cid"] : $i, isset($item["name"]) & !empty($item["name"]) ? $item["name"] : 'file' . $i, $smtp['encoding']);
                 $i++;
             }
         }
     }
     //pr($mail);
     //на данном этапе имеется уже собранное письмо и нам необходимо определить mx серверы для отправки...для каждого письма.
     //чтобы повторно не искать серверы в момент отправки для каждого...
     //сохраняем для каждого домена один и тот же сервер
     $mxsrvs = array();
     $mxemails = array();
     $debug['ctime'] = round((array_sum(explode(' ', microtime())) - $stime) * 1000, 2) . " ms";
     foreach ($data['to'] as $email => $name) {
         //берем чисто host
         if (!$this->_is_valid_email($email)) {
             $debug['emails'][$email]['error'] = "неправильно указан email адрес.";
             continue;
         }
         $host = substr($email, strpos($email, "@") + 1);
         $domains = explode(".", $host);
         foreach ($domains as $level => $domain) {
             $address = implode(".", $domains);
             if (!key_exists($address, $mxsrvs)) {
                 $time = array_sum(explode(' ', microtime()));
                 if (getmxrr_portable($address, $mxhosts, $preference) == true) {
                     array_multisort($preference, $mxhosts);
                 }
                 $debug['emails'][$email]['mxtime'] = round((array_sum(explode(' ', microtime())) - $time) * 1000, 2) . " ms";
                 if (!empty($mxhosts)) {
                     $mxhosts[] = $smtp['host'];
                     //потому что shadow тормознутый сервак
                     if (in_array('shadow.rusoft.ru', $mxhosts)) {
                         unset($mxhosts[0]);
                     }
                     //чтобы включить рассылку на smtp серверы получателей, необходимо закоментировать следующую строчку
                     $mxhosts = array_reverse($mxhosts);
                     $mxsrvs[$address] = $mxhosts;
                     $mxemails[$email] =& $mxsrvs[$address];
                     $debug['emails'][$email]['mxsrvs'] =& $mxsrvs[$address];
                     break;
                 } else {
                     unset($domains[$level]);
                 }
             } else {
                 $debug['emails'][$email]['mxtime'] = 'cache(0 ms)';
                 $mxemails[$email] =& $mxsrvs[$address];
                 $debug['emails'][$email]['mxsrvs'] =& $mxsrvs[$address];
             }
         }
     }
//.........这里部分代码省略.........
开发者ID:romlg,项目名称:cms36,代码行数:101,代码来源:sender.php

示例3: email_to_user


//.........这里部分代码省略.........
            if (empty($replyto)) {
                $mail->AddReplyTo($CFG->noreplyaddress, get_string('noreplyname'));
            }
        }
    }
    if (!empty($replyto)) {
        $mail->AddReplyTo($replyto, $replytoname);
    }
    $mail->Subject = substr(stripslashes($subject), 0, 900);
    $mail->AddAddress($user->email, fullname($user));
    $mail->WordWrap = 79;
    // set word wrap
    if (!empty($from->customheaders)) {
        // Add custom headers
        if (is_array($from->customheaders)) {
            foreach ($from->customheaders as $customheader) {
                $mail->AddCustomHeader($customheader);
            }
        } else {
            $mail->AddCustomHeader($from->customheaders);
        }
    }
    if (!empty($from->priority)) {
        $mail->Priority = $from->priority;
    }
    if ($messagehtml && $user->mailformat == 1) {
        // Don't ever send HTML to users who don't want it
        $mail->IsHTML(true);
        $mail->Encoding = 'quoted-printable';
        // Encoding to use
        $mail->Body = $messagehtml;
        $mail->AltBody = "\n{$messagetext}\n";
    } else {
        $mail->IsHTML(false);
        $mail->Body = "\n{$messagetext}\n";
    }
    if ($attachment && $attachname) {
        if (ereg("\\.\\.", $attachment)) {
            // Security check for ".." in dir path
            $mail->AddAddress($supportuser->email, fullname($supportuser, true));
            $mail->AddStringAttachment('Error in attachment.  User attempted to attach a filename with a unsafe name.', 'error.txt', '8bit', 'text/plain');
        } else {
            require_once $CFG->libdir . '/filelib.php';
            $mimetype = mimeinfo('type', $attachname);
            $mail->AddAttachment($CFG->dataroot . '/' . $attachment, $attachname, 'base64', $mimetype);
        }
    }
    /// If we are running under Unicode and sitemailcharset or allowusermailcharset are set, convert the email
    /// encoding to the specified one
    if (!empty($CFG->sitemailcharset) || !empty($CFG->allowusermailcharset)) {
        /// Set it to site mail charset
        $charset = $CFG->sitemailcharset;
        /// Overwrite it with the user mail charset
        if (!empty($CFG->allowusermailcharset)) {
            if ($useremailcharset = get_user_preferences('mailcharset', '0', $user->id)) {
                $charset = $useremailcharset;
            }
        }
        /// If it has changed, convert all the necessary strings
        $charsets = get_list_of_charsets();
        unset($charsets['UTF-8']);
        if (in_array($charset, $charsets)) {
            /// Save the new mail charset
            $mail->CharSet = $charset;
            /// And convert some strings
            $mail->FromName = $textlib->convert($mail->FromName, 'utf-8', $mail->CharSet);
            //From Name
            foreach ($mail->ReplyTo as $key => $rt) {
                //ReplyTo Names
                $mail->ReplyTo[$key][1] = $textlib->convert($rt, 'utf-8', $mail->CharSet);
            }
            $mail->Subject = $textlib->convert($mail->Subject, 'utf-8', $mail->CharSet);
            //Subject
            foreach ($mail->to as $key => $to) {
                $mail->to[$key][1] = $textlib->convert($to, 'utf-8', $mail->CharSet);
                //To Names
            }
            $mail->Body = $textlib->convert($mail->Body, 'utf-8', $mail->CharSet);
            //Body
            $mail->AltBody = $textlib->convert($mail->AltBody, 'utf-8', $mail->CharSet);
            //Subject
        }
    }
    if ($mail->Send()) {
        set_send_count($user);
        $mail->IsSMTP();
        // use SMTP directly
        if (!empty($CFG->debugsmtp)) {
            echo '</pre>';
        }
        return true;
    } else {
        mtrace('ERROR: ' . $mail->ErrorInfo);
        add_to_log(SITEID, 'library', 'mailer', $FULLME, 'ERROR: ' . $mail->ErrorInfo);
        if (!empty($CFG->debugsmtp)) {
            echo '</pre>';
        }
        return false;
    }
}
开发者ID:BackupTheBerlios,项目名称:samouk-svn,代码行数:101,代码来源:moodlelib.php


注:本文中的phpmailer::AddStringAttachment方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。