本文整理汇总了PHP中phpmailer::IsQmail方法的典型用法代码示例。如果您正苦于以下问题:PHP phpmailer::IsQmail方法的具体用法?PHP phpmailer::IsQmail怎么用?PHP phpmailer::IsQmail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类phpmailer
的用法示例。
在下文中一共展示了phpmailer::IsQmail方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: email_to_user
/**
* Send an email to a specified user
*
* @uses $CFG
* @param user $user A {@link $USER} object
* @param user $from A {@link $USER} object
* @param string $subject plain text subject line of the email
* @param string $messagetext plain text version of the message
* @param string $messagehtml complete html version of the message (optional)
* @param string $attachment a file on the filesystem
* @param string $attachname the name of the file (extension indicates MIME)
* @param bool $usetrueaddress determines whether $from email address should
* be sent out. Will be overruled by user profile setting for maildisplay
* @return bool|string Returns "true" if mail was sent OK, "emailstop" if email
* was blocked by user and "false" if there was another sort of error.
*/
function email_to_user($user, $from, $subject, $messagetext, $messagehtml = '', $attachment = '', $attachname = '', $usetrueaddress = true, $replyto = '', $replytoname = '')
{
global $CFG;
$textlib = textlib_get_instance();
include_once $CFG->libdir . '/phpmailer/class.phpmailer.php';
if (empty($user) || empty($user->email)) {
return false;
}
/*
if (over_bounce_threshold($user)) {
error_log("User $user->id (".fullname($user).") is over bounce threshold! Not sending.");
return false;
}
*/
// this doesn't exist right now, we may bring it in later though.
$mail = new phpmailer();
$mail->Version = 'Elgg ';
// mailer version (should have $CFG->version on here but we don't have it yet)
$mail->PluginDir = $CFG->libdir . '/phpmailer/';
// plugin directory (eg smtp plugin)
$mail->CharSet = 'UTF-8';
// everything is now uft8
if (empty($CFG->smtphosts)) {
$mail->IsMail();
// use PHP mail() = sendmail
} else {
if ($CFG->smtphosts == 'qmail') {
$mail->IsQmail();
// use Qmail system
} else {
$mail->IsSMTP();
// use SMTP directly
if ($CFG->debug > 7) {
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);
}
//.........这里部分代码省略.........
示例2: email_user
/**
* Always use this function for all emails to users
*
* @param object $userto user object to send email to. must contain firstname,lastname,preferredname,email
* @param object $userfrom user object to send email from. If null, email will come from mahara
* @param string $subject email subject
* @param string $messagetext text version of email
* @param string $messagehtml html version of email (will send both html and text)
* @param array $customheaders email headers
* @throws EmailException
* @throws EmailDisabledException
*/
function email_user($userto, $userfrom, $subject, $messagetext, $messagehtml = '', $customheaders = null)
{
global $IDPJUMPURL;
static $mnetjumps = array();
if (!get_config('sendemail')) {
// You can entirely disable Mahara from sending any e-mail via the
// 'sendemail' configuration variable
return true;
}
if (empty($userto)) {
throw new InvalidArgumentException("empty user given to email_user");
}
if (!($mailinfo = can_receive_email($userto))) {
throw new EmailDisabledException("email for this user has been disabled");
}
// If the user is a remote xmlrpc user, trawl through the email text for URLs
// to our wwwroot and modify the url to direct the user's browser to login at
// their home site before hitting the link on this site
if (!empty($userto->mnethostwwwroot) && !empty($userto->mnethostapp)) {
require_once get_config('docroot') . 'auth/xmlrpc/lib.php';
// Form the request url to hit the idp's jump.php
if (isset($mnetjumps[$userto->mnethostwwwroot])) {
$IDPJUMPURL = $mnetjumps[$userto->mnethostwwwroot];
} else {
$mnetjumps[$userto->mnethostwwwroot] = $IDPJUMPURL = PluginAuthXmlrpc::get_jump_url_prefix($userto->mnethostwwwroot, $userto->mnethostapp);
}
$wwwroot = get_config('wwwroot');
$messagetext = preg_replace_callback('%(' . $wwwroot . '([\\w_:\\?=#&@/;.~-]*))%', 'localurl_to_jumpurl', $messagetext);
$messagehtml = preg_replace_callback('%href=["\'`](' . $wwwroot . '([\\w_:\\?=#&@/;.~-]*))["\'`]%', 'localurl_to_jumpurl', $messagehtml);
}
require_once 'phpmailer/class.phpmailer.php';
$mail = new phpmailer();
// Leaving this commented out - there's no reason for people to know this
//$mail->Version = 'Mahara ' . get_config('release');
$mail->PluginDir = get_config('libroot') . 'phpmailer/';
$mail->CharSet = 'UTF-8';
$smtphosts = get_config('smtphosts');
if ($smtphosts == 'qmail') {
// use Qmail system
$mail->IsQmail();
} else {
if (empty($smtphosts)) {
// use PHP mail() = sendmail
$mail->IsMail();
} else {
$mail->IsSMTP();
// use SMTP directly
$mail->Host = get_config('smtphosts');
if (get_config('smtpuser')) {
// Use SMTP authentication
$mail->SMTPAuth = true;
$mail->Username = get_config('smtpuser');
$mail->Password = get_config('smtppass');
}
}
}
if (get_config('bounces_handle') && isset($mailinfo->owner)) {
$mail->Sender = generate_email_processing_address($mailinfo->owner, $userto);
}
if (empty($userfrom) || $userfrom->email == get_config('noreplyaddress')) {
if (empty($mail->Sender)) {
$mail->Sender = get_config('noreplyaddress');
}
$mail->From = get_config('noreplyaddress');
$mail->FromName = isset($userfrom->id) ? display_name($userfrom, $userto) : get_config('sitename');
$customheaders[] = 'Precedence: Bulk';
// Try to avoid pesky out of office responses
$messagetext .= "\n\n" . get_string('pleasedonotreplytothismessage') . "\n";
if ($messagehtml) {
$messagehtml .= "\n\n<p>" . get_string('pleasedonotreplytothismessage') . "</p>\n";
}
} else {
if (empty($mail->Sender)) {
$mail->Sender = $userfrom->email;
}
$mail->From = $userfrom->email;
$mail->FromName = display_name($userfrom, $userto);
}
$replytoset = false;
if (!empty($customheaders) && is_array($customheaders)) {
foreach ($customheaders as $customheader) {
$mail->AddCustomHeader($customheader);
if (0 === stripos($customheader, 'reply-to')) {
$replytoset = true;
}
}
}
if (!$replytoset) {
//.........这里部分代码省略.........
示例3: phpmailer
/**
* Get mailer instance, enable buffering, flush buffer or disable buffering.
* @param $action string 'get', 'buffer', 'close' or 'flush'
* @return reference to mailer instance if 'get' used or nothing
*/
function &get_mailer($action = 'get')
{
global $CFG;
static $mailer = null;
static $counter = 0;
if (!isset($CFG->smtpmaxbulk)) {
$CFG->smtpmaxbulk = 1;
}
if ($action == 'get') {
$prevkeepalive = false;
if (isset($mailer) and $mailer->Mailer == 'smtp') {
if ($counter < $CFG->smtpmaxbulk and empty($mailer->error_count)) {
$counter++;
// reset the mailer
$mailer->Priority = 3;
$mailer->CharSet = 'UTF-8';
// our default
$mailer->ContentType = "text/plain";
$mailer->Encoding = "8bit";
$mailer->From = "root@localhost";
$mailer->FromName = "Root User";
$mailer->Sender = "";
$mailer->Subject = "";
$mailer->Body = "";
$mailer->AltBody = "";
$mailer->ConfirmReadingTo = "";
$mailer->ClearAllRecipients();
$mailer->ClearReplyTos();
$mailer->ClearAttachments();
$mailer->ClearCustomHeaders();
return $mailer;
}
$prevkeepalive = $mailer->SMTPKeepAlive;
get_mailer('flush');
}
include_once $CFG->libdir . '/phpmailer/class.phpmailer.php';
$mailer = new phpmailer();
$counter = 1;
$mailer->Version = 'Moodle ' . $CFG->version;
// mailer version
$mailer->PluginDir = $CFG->libdir . '/phpmailer/';
// plugin directory (eg smtp plugin)
$mailer->CharSet = 'UTF-8';
// some MTAs may do double conversion of LF if CRLF used, CRLF is required line ending in RFC 822bis
// hmm, this is a bit hacky because LE should be private
if (isset($CFG->mailnewline) and $CFG->mailnewline == 'CRLF') {
$mailer->LE = "\r\n";
} else {
$mailer->LE = "\n";
}
if ($CFG->smtphosts == 'qmail') {
$mailer->IsQmail();
// use Qmail system
} else {
if (empty($CFG->smtphosts)) {
$mailer->IsMail();
// use PHP mail() = sendmail
} else {
$mailer->IsSMTP();
// use SMTP directly
if (!empty($CFG->debugsmtp)) {
$mailer->SMTPDebug = true;
}
$mailer->Host = $CFG->smtphosts;
// specify main and backup servers
$mailer->SMTPKeepAlive = $prevkeepalive;
// use previous keepalive
if ($CFG->smtpuser) {
// Use SMTP authentication
$mailer->SMTPAuth = true;
$mailer->Username = $CFG->smtpuser;
$mailer->Password = $CFG->smtppass;
}
}
}
return $mailer;
}
$nothing = null;
// keep smtp session open after sending
if ($action == 'buffer') {
if (!empty($CFG->smtpmaxbulk)) {
get_mailer('flush');
$m =& get_mailer();
if ($m->Mailer == 'smtp') {
$m->SMTPKeepAlive = true;
}
}
return $nothing;
}
// close smtp session, but continue buffering
if ($action == 'flush') {
if (isset($mailer) and $mailer->Mailer == 'smtp') {
if (!empty($mailer->SMTPDebug)) {
echo '<pre>' . "\n";
}
//.........这里部分代码省略.........
示例4: sloodle_text_email
/**
* Send an email to a specific address, using the Moodle system.
* This function is heavily based on "email_to_user()" from Moodle's libraries.
*
* @uses $CFG
* @uses $FULLME
* @param string $to The address to send the email to
* @param string $subject Plain text subject line of the email
* @param string $messagetext Plain text of the message
* @return bool Returns true if mail was sent OK, or false otherwise
*/
function sloodle_text_email($to, $subject, $messagetext)
{
global $CFG, $FULLME;
// Fetch the PHP mailing functionality
include_once $CFG->libdir . '/phpmailer/class.phpmailer.php';
// We are going to use textlib services here
$textlib = textlib_get_instance();
// Construct a new PHP mailer
$mail = new phpmailer();
$mail->Version = 'Moodle ' . $CFG->version;
// mailer version
$mail->PluginDir = $CFG->libdir . '/phpmailer/';
// plugin directory (eg smtp plugin)
// We will use Unicode UTF8
$mail->CharSet = 'UTF-8';
// Determine which mail system to use
if ($CFG->smtphosts == 'qmail') {
$mail->IsQmail();
// use Qmail system
} else {
if (empty($CFG->smtphosts)) {
$mail->IsMail();
// use PHP mail() = sendmail
} else {
$mail->IsSMTP();
// use SMTP directly
if (!empty($CFG->debugsmtp)) {
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;
}
}
}
// Use the admin's address for the Sender field
$adminuser = get_admin();
$mail->Sender = $adminuser->email;
// Use the 'noreply' address
$mail->From = $CFG->noreplyaddress;
$mail->FromName = $CFG->wwwroot;
// Setup the other headers
$mail->Subject = substr(stripslashes($subject), 0, 900);
$mail->AddAddress(stripslashes($to), 'Sloodle');
//$mail->WordWrap = 79; // We don't want to do a wordwrap
// Add our message text
$mail->IsHTML(false);
$mail->Body = $messagetext;
// Attempt to send the email
if ($mail->Send()) {
$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;
}
}
示例5: email_to_user
/**
* Send an email to a specified user
*
* @uses $CFG
* @uses $FULLME
* @uses SITEID
* @param user $user A {@link $USER} object
* @param user $from A {@link $USER} object
* @param string $subject plain text subject line of the email
* @param string $messagetext plain text version of the message
* @param string $messagehtml complete html version of the message (optional)
* @param string $attachment a file on the filesystem, relative to $CFG->dataroot
* @param string $attachname the name of the file (extension indicates MIME)
* @param bool $usetrueaddress determines whether $from email address should
* be sent out. Will be overruled by user profile setting for maildisplay
* @return bool|string Returns "true" if mail was sent OK, "emailstop" if email
* was blocked by user and "false" if there was another sort of error.
*/
function email_to_user($user, $from, $subject, $messagetext, $messagehtml = '', $attachment = '', $attachname = '', $usetrueaddress = true, $replyto = '', $replytoname = '')
{
global $CFG, $FULLME;
include_once $CFG->libdir . '/phpmailer/class.phpmailer.php';
/// We are going to use textlib services here
$textlib = textlib_get_instance();
if (empty($user)) {
return false;
}
// skip mail to suspended users
if (isset($user->auth) && $user->auth == 'nologin') {
return true;
}
if (!empty($user->emailstop)) {
return 'emailstop';
}
if (over_bounce_threshold($user)) {
error_log("User {$user->id} (" . fullname($user) . ") is over bounce threshold! Not sending.");
return false;
}
$mail = new phpmailer();
$mail->Version = 'Moodle ' . $CFG->version;
// mailer version
$mail->PluginDir = $CFG->libdir . '/phpmailer/';
// plugin directory (eg smtp plugin)
$mail->CharSet = 'UTF-8';
if ($CFG->smtphosts == 'qmail') {
$mail->IsQmail();
// use Qmail system
} else {
if (empty($CFG->smtphosts)) {
$mail->IsMail();
// use PHP mail() = sendmail
} else {
$mail->IsSMTP();
// use SMTP directly
if (!empty($CFG->debugsmtp)) {
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;
}
}
}
$supportuser = generate_email_supportuser();
// make up an email address for handling bounces
if (!empty($CFG->handlebounces)) {
$modargs = 'B' . base64_encode(pack('V', $user->id)) . substr(md5($user->email), 0, 16);
$mail->Sender = generate_email_processing_address(0, $modargs);
} else {
$mail->Sender = $supportuser->email;
}
if (is_string($from)) {
// So we can pass whatever we want if there is need
$mail->From = $CFG->noreplyaddress;
$mail->FromName = $from;
} else {
if ($usetrueaddress and $from->maildisplay) {
$mail->From = $from->email;
$mail->FromName = fullname($from);
} else {
$mail->From = $CFG->noreplyaddress;
$mail->FromName = fullname($from);
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)) {
//.........这里部分代码省略.........
示例6: supportSendMail
function supportSendMail($email, $name, $subject, $message, $response_flag = false)
{
global $sendmethod, $sockethost, $smtpauth, $smtpauthuser, $smtpauthpass, $socketfrom, $socketfromname, $socketreply, $socketreplyname;
include_once 'class.phpmailer.php';
$mail = new phpmailer();
if (file_exists('class/language/phpmailer.lang-en.php')) {
$mail->SetLanguage('en', 'class/language/');
} else {
$mail->SetLanguage('en', '../class/language/');
}
if (isset($sendmethod) && $sendmethod == 'sendmail') {
$mail->IssupportSendMail();
} elseif (isset($sendmethod) && $sendmethod == 'smtp') {
$mail->IsSMTP();
} elseif (isset($sendmethod) && $sendmethod == 'mail') {
$mail->IsMail();
} elseif (isset($sendmethod) && $sendmethod == 'qmail') {
$mail->IsQmail();
}
$mail->Host = $sockethost;
if ($smtpauth == 'TRUE') {
$mail->SMTPAuth = true;
$mail->Username = $smtpauthuser;
$mail->Password = $smtpauthpass;
}
if (!$response_flag && isset($_GET['caseid']) && ($_GET['caseid'] == 'NewTicket' || $_GET['caseid'] == 'view')) {
$mail->From = $email;
$mail->FromName = $name;
$mail->AddReplyTo($email, $name);
} else {
$mail->From = $socketfrom;
$mail->FromName = $socketfromname;
$mail->AddReplyTo($socketreply, $socketreplyname);
}
$mail->IsHTML(False);
$mail->Body = $message;
$mail->Subject = $subject;
if (!$response_flag && isset($_GET['caseid']) && ($_GET['caseid'] == 'NewTicket' || $_GET['caseid'] == 'view')) {
$mail->AddAddress($socketfrom, $socketfromname);
} else {
$mail->AddAddress($email, $name);
}
if (!$mail->Send()) {
return 'Error: ' . $mail->ErrorInfo;
} else {
return 'Email Sent. ' . $mail->ErrorInfo;
}
$mail->ClearAddresses();
}
示例7: email_user
/**
* Always use this function for all emails to users
*
* @param object $userto user object to send email to. must contain firstname,lastname,preferredname,email
* @param object $userfrom user object to send email from. If null, email will come from mahara
* @param string $subject email subject
* @param string $messagetext text version of email
* @param string $messagehtml html version of email (will send both html and text)
* @param array $customheaders email headers
* @throws EmailException
*/
function email_user($userto, $userfrom, $subject, $messagetext, $messagehtml = '', $customheaders = null)
{
if (!get_config('sendemail')) {
// You can entirely disable Mahara from sending any e-mail via the
// 'sendemail' configuration variable
return true;
}
if (empty($userto)) {
throw new InvalidArgumentException("empty user given to email_user");
}
require_once 'phpmailer/class.phpmailer.php';
$mail = new phpmailer();
// Leaving this commented out - there's no reason for people to know this
//$mail->Version = 'Mahara ' . get_config('release');
$mail->PluginDir = get_config('libroot') . 'phpmailer/';
$mail->CharSet = 'UTF-8';
$smtphosts = get_config('smtphosts');
if ($smtphosts == 'qmail') {
// use Qmail system
$mail->IsQmail();
} else {
if (empty($smtphosts)) {
// use PHP mail() = sendmail
$mail->IsMail();
} else {
$mail->IsSMTP();
// use SMTP directly
$mail->Host = get_config('smtphosts');
if (get_config('smtpuser')) {
// Use SMTP authentication
$mail->SMTPAuth = true;
$mail->Username = get_config('smtpuser');
$mail->Password = get_config('smtppass');
}
}
}
if (empty($userfrom)) {
$mail->Sender = get_config('noreplyaddress');
$mail->From = $mail->Sender;
$mail->FromName = get_string('emailname');
$customheaders[] = 'Precedence: Bulk';
// Try to avoid pesky out of office responses
$messagetext .= "\n\n" . get_string('pleasedonotreplytothismessage') . "\n";
if ($messagehtml) {
$messagehtml .= "\n\n<p>" . get_string('pleasedonotreplytothismessage') . "</p>\n";
}
} else {
$mail->Sender = $userfrom->email;
$mail->From = $mail->Sender;
$mail->FromName = display_name($userfrom, $userto);
}
$replytoset = false;
if (!empty($customheaders) && is_array($customheaders)) {
foreach ($customheaders as $customheader) {
$mail->AddCustomHeader($customheader);
if (0 === stripos($customheader, 'reply-to')) {
$replytoset = true;
}
}
}
if (!$replytoset) {
$mail->AddReplyTo($mail->From, $mail->FromName);
}
$mail->Subject = substr(stripslashes($subject), 0, 900);
if ($to = get_config('sendallemailto')) {
// Admins can configure the system to send all email to a given address
// instead of whoever would receive it, useful for debugging.
$mail->addAddress($to);
$notice = get_string('debugemail', 'mahara', display_name($userto, $userto), $userto->email);
$messagetext = $notice . "\n\n" . $messagetext;
if ($messagehtml) {
$messagehtml = '<p>' . hsc($notice) . '</p>' . $messagehtml;
}
} else {
$usertoname = display_name($userto, $userto);
$mail->AddAddress($userto->email, $usertoname);
}
$mail->WordWrap = 79;
if ($messagehtml) {
$mail->IsHTML(true);
$mail->Encoding = 'quoted-printable';
$mail->Body = $messagehtml;
$mail->AltBody = $messagetext;
} else {
$mail->IsHTML(false);
$mail->Body = $messagetext;
}
if ($mail->Send()) {
return true;
//.........这里部分代码省略.........