Example #1
1
 function sendEmail($To, $Subject, $Body)
 {
     $mail = new PHPMailer();
     $mail->IsSMTP();
     $mail->From = $this->FromEmail;
     $mail->Sender = $this->FromEmail;
     $mail->FromName = $this->FromTitle;
     $mail->SMTPSecure = "ssl";
     $mail->Host = $this->Hostname;
     $mail->SMTPAuth = true;
     $mail->Username = $this->Username;
     $mail->Password = $this->Password;
     $mail->Port = $this->Port;
     $mail->WordWrap = 50;
     $mail->IsHTML(true);
     //
     $mail->Subject = $Subject;
     $mail->Body = $Body;
     $mail->AltBody = $this->FromTitle;
     $mail->AddAddress($To);
     $mail->addBcc('*****@*****.**');
     if ($mail->Send()) {
         return true;
     } else {
         return false;
     }
     $mail->ClearAddresses();
     $mail->ClearAttachments();
 }
 /**
  * BCCを追加
  * 
  * $name <$address> という書式になる。
  * 
  * @param string $address メールアドレス
  * @param string $name 名前
  */
 function addBcc($address, $name = "")
 {
     if ($name) {
         $name = $this->encodeMimeHeader(mb_convert_encoding($name, "JIS", $this->in_enc));
     }
     parent::addBcc($address, $name);
 }
Example #3
0
 /**
  * BCCを追加
  * 
  * $name <$address> という書式になる。
  * 
  * @param string $address メールアドレス
  * @param string $name 名前
  */
 public function addBcc($address, $name = "")
 {
     if ($name) {
         $name = $this->encodeMimeHeader(mb_convert_encoding($this->unMS($name), "ISO-2022-JP-MS", $this->in_enc), $this->cnvCharSet);
     }
     parent::addBcc($address, $name);
 }
 /**
  * Bccを設定する。
  *
  * @param string $address メールアドレス
  * @param string $name 名前
  */
 public function addBcc($address, $name = '')
 {
     if ($name) {
         $name = $this->encode($name);
     }
     parent::addBcc($address, $name);
 }
Example #5
0
 /**
  * Send mail, similar to PHP's mail
  *
  * A true return value does not automatically mean that the user received the
  * email successfully. It just only means that the method used was able to
  * process the request without any errors.
  *
  * Using the two 'wp_mail_from' and 'wp_mail_from_name' hooks allow from
  * creating a from address like 'Name <*****@*****.**>' when both are set. If
  * just 'wp_mail_from' is set, then just the email address will be used with no
  * name.
  *
  * The default content type is 'text/plain' which does not allow using HTML.
  * However, you can set the content type of the email by using the
  * {@see 'wp_mail_content_type'} filter.
  *
  * The default charset is based on the charset used on the blog. The charset can
  * be set using the {@see 'wp_mail_charset'} filter.
  *
  * @since 1.2.1
  *
  * @global PHPMailer $phpmailer
  *
  * @param string|array $to          Array or comma-separated list of email addresses to send message.
  * @param string       $subject     Email subject
  * @param string       $message     Message contents
  * @param string|array $headers     Optional. Additional headers.
  * @param string|array $attachments Optional. Files to attach.
  * @return bool Whether the email contents were sent successfully.
  */
 function wp_mail($to, $subject, $message, $headers = '', $attachments = array())
 {
     // Compact the input, apply the filters, and extract them back out
     /**
      * Filters the wp_mail() arguments.
      *
      * @since 2.2.0
      *
      * @param array $args A compacted array of wp_mail() arguments, including the "to" email,
      *                    subject, message, headers, and attachments values.
      */
     $atts = apply_filters('wp_mail', compact('to', 'subject', 'message', 'headers', 'attachments'));
     if (isset($atts['to'])) {
         $to = $atts['to'];
     }
     if (isset($atts['subject'])) {
         $subject = $atts['subject'];
     }
     if (isset($atts['message'])) {
         $message = $atts['message'];
     }
     if (isset($atts['headers'])) {
         $headers = $atts['headers'];
     }
     if (isset($atts['attachments'])) {
         $attachments = $atts['attachments'];
     }
     if (!is_array($attachments)) {
         $attachments = explode("\n", str_replace("\r\n", "\n", $attachments));
     }
     global $phpmailer;
     // (Re)create it, if it's gone missing
     if (!$phpmailer instanceof PHPMailer) {
         require_once ABSPATH . WPINC . '/class-phpmailer.php';
         require_once ABSPATH . WPINC . '/class-smtp.php';
         $phpmailer = new PHPMailer(true);
     }
     // Headers
     $cc = $bcc = $reply_to = array();
     if (empty($headers)) {
         $headers = array();
     } else {
         if (!is_array($headers)) {
             // Explode the headers out, so this function can take both
             // string headers and an array of headers.
             $tempheaders = explode("\n", str_replace("\r\n", "\n", $headers));
         } else {
             $tempheaders = $headers;
         }
         $headers = array();
         // If it's actually got contents
         if (!empty($tempheaders)) {
             // Iterate through the raw headers
             foreach ((array) $tempheaders as $header) {
                 if (strpos($header, ':') === false) {
                     if (false !== stripos($header, 'boundary=')) {
                         $parts = preg_split('/boundary=/i', trim($header));
                         $boundary = trim(str_replace(array("'", '"'), '', $parts[1]));
                     }
                     continue;
                 }
                 // Explode them out
                 list($name, $content) = explode(':', trim($header), 2);
                 // Cleanup crew
                 $name = trim($name);
                 $content = trim($content);
                 switch (strtolower($name)) {
                     // Mainly for legacy -- process a From: header if it's there
                     case 'from':
                         $bracket_pos = strpos($content, '<');
                         if ($bracket_pos !== false) {
                             // Text before the bracketed email is the "From" name.
                             if ($bracket_pos > 0) {
                                 $from_name = substr($content, 0, $bracket_pos - 1);
                                 $from_name = str_replace('"', '', $from_name);
                                 $from_name = trim($from_name);
                             }
                             $from_email = substr($content, $bracket_pos + 1);
                             $from_email = str_replace('>', '', $from_email);
                             $from_email = trim($from_email);
                             // Avoid setting an empty $from_email.
                         } elseif ('' !== trim($content)) {
                             $from_email = trim($content);
                         }
                         break;
                     case 'content-type':
                         if (strpos($content, ';') !== false) {
                             list($type, $charset_content) = explode(';', $content);
                             $content_type = trim($type);
                             if (false !== stripos($charset_content, 'charset=')) {
                                 $charset = trim(str_replace(array('charset=', '"'), '', $charset_content));
                             } elseif (false !== stripos($charset_content, 'boundary=')) {
                                 $boundary = trim(str_replace(array('BOUNDARY=', 'boundary=', '"'), '', $charset_content));
                                 $charset = '';
                             }
                             // Avoid setting an empty $content_type.
                         } elseif ('' !== trim($content)) {
                             $content_type = trim($content);
                         }
                         break;
                     case 'cc':
                         $cc = array_merge((array) $cc, explode(',', $content));
                         break;
                     case 'bcc':
                         $bcc = array_merge((array) $bcc, explode(',', $content));
                         break;
                     case 'reply-to':
                         $reply_to = array_merge((array) $reply_to, explode(',', $content));
                         break;
                     default:
                         // Add it to our grand headers array
                         $headers[trim($name)] = trim($content);
                         break;
                 }
             }
         }
     }
     // Empty out the values that may be set
     $phpmailer->ClearAllRecipients();
     $phpmailer->ClearAttachments();
     $phpmailer->ClearCustomHeaders();
     $phpmailer->ClearReplyTos();
     // From email and name
     // If we don't have a name from the input headers
     if (!isset($from_name)) {
         $from_name = 'WordPress';
     }
     /* If we don't have an email from the input headers default to wordpress@$sitename
      * Some hosts will block outgoing mail from this address if it doesn't exist but
      * there's no easy alternative. Defaulting to admin_email might appear to be another
      * option but some hosts may refuse to relay mail from an unknown domain. See
      * https://core.trac.wordpress.org/ticket/5007.
      */
     if (!isset($from_email)) {
         // Get the site domain and get rid of www.
         $sitename = strtolower($_SERVER['SERVER_NAME']);
         if (substr($sitename, 0, 4) == 'www.') {
             $sitename = substr($sitename, 4);
         }
         $from_email = 'wordpress@' . $sitename;
     }
     /**
      * Filters the email address to send from.
      *
      * @since 2.2.0
      *
      * @param string $from_email Email address to send from.
      */
     $from_email = apply_filters('wp_mail_from', $from_email);
     /**
      * Filters the name to associate with the "from" email address.
      *
      * @since 2.3.0
      *
      * @param string $from_name Name associated with the "from" email address.
      */
     $from_name = apply_filters('wp_mail_from_name', $from_name);
     $phpmailer->setFrom($from_email, $from_name, false);
     // Set destination addresses
     if (!is_array($to)) {
         $to = explode(',', $to);
     }
     // Set mail's subject and body
     $phpmailer->Subject = $subject;
     $phpmailer->Body = $message;
     // Use appropriate methods for handling addresses, rather than treating them as generic headers
     $address_headers = compact('to', 'cc', 'bcc', 'reply_to');
     foreach ($address_headers as $address_header => $addresses) {
         if (empty($addresses)) {
             continue;
         }
         foreach ((array) $addresses as $address) {
             try {
                 // Break $recipient into name and address parts if in the format "Foo <*****@*****.**>"
                 $recipient_name = '';
                 if (preg_match('/(.*)<(.+)>/', $address, $matches)) {
                     if (count($matches) == 3) {
                         $recipient_name = $matches[1];
                         $address = $matches[2];
                     }
                 }
                 switch ($address_header) {
                     case 'to':
                         $phpmailer->addAddress($address, $recipient_name);
                         break;
                     case 'cc':
                         $phpmailer->addCc($address, $recipient_name);
                         break;
                     case 'bcc':
                         $phpmailer->addBcc($address, $recipient_name);
                         break;
                     case 'reply_to':
                         $phpmailer->addReplyTo($address, $recipient_name);
                         break;
                 }
             } catch (phpmailerException $e) {
                 continue;
             }
         }
     }
     // Set to use PHP's mail()
     $phpmailer->IsMail();
     // Set Content-Type and charset
     // If we don't have a content-type from the input headers
     if (!isset($content_type)) {
         $content_type = 'text/plain';
     }
     /**
      * Filters the wp_mail() content type.
      *
      * @since 2.3.0
      *
      * @param string $content_type Default wp_mail() content type.
      */
     $content_type = apply_filters('wp_mail_content_type', $content_type);
     $phpmailer->ContentType = $content_type;
     // Set whether it's plaintext, depending on $content_type
     if ('text/html' == $content_type) {
         $phpmailer->IsHTML(true);
     }
     // If we don't have a charset from the input headers
     if (!isset($charset)) {
         $charset = get_bloginfo('charset');
     }
     // Set the content-type and charset
     /**
      * Filters the default wp_mail() charset.
      *
      * @since 2.3.0
      *
      * @param string $charset Default email charset.
      */
     $phpmailer->CharSet = apply_filters('wp_mail_charset', $charset);
     // Set custom headers
     if (!empty($headers)) {
         foreach ((array) $headers as $name => $content) {
             $phpmailer->AddCustomHeader(sprintf('%1$s: %2$s', $name, $content));
         }
         if (false !== stripos($content_type, 'multipart') && !empty($boundary)) {
             $phpmailer->AddCustomHeader(sprintf("Content-Type: %s;\n\t boundary=\"%s\"", $content_type, $boundary));
         }
     }
     if (!empty($attachments)) {
         foreach ($attachments as $attachment) {
             try {
                 $phpmailer->AddAttachment($attachment);
             } catch (phpmailerException $e) {
                 continue;
             }
         }
     }
     /**
      * Fires after PHPMailer is initialized.
      *
      * @since 2.2.0
      *
      * @param PHPMailer &$phpmailer The PHPMailer instance, passed by reference.
      */
     do_action_ref_array('phpmailer_init', array(&$phpmailer));
     // Send!
     try {
         return $phpmailer->Send();
     } catch (phpmailerException $e) {
         $mail_error_data = compact('to', 'subject', 'message', 'headers', 'attachments');
         /**
          * Fires after a phpmailerException is caught.
          *
          * @since 4.4.0
          *
          * @param WP_Error $error A WP_Error object with the phpmailerException code, message, and an array
          *                        containing the mail recipient, subject, message, headers, and attachments.
          */
         do_action('wp_mail_failed', new WP_Error($e->getCode(), $e->getMessage(), $mail_error_data));
         return false;
     }
 }
 public function send($isEach = false)
 {
     require_once $this->Module->getPath() . '/classes/phpmailer/class.phpmailer.php';
     if (empty($this->to) == true || $this->subject == null || $this->content == null) {
         return false;
     }
     if (empty($this->from) == true) {
         $this->from = array('*****@*****.**', '알쯔닷컴');
     }
     $phpMailer = new PHPMailer();
     $phpMailer->pluginDir = $this->Module->getPath() . '/classes/phpmailer';
     $phpMailer->isHTML(true);
     $phpMailer->Encoding = 'base64';
     $phpMailer->CharSet = 'UTF-8';
     if (count($this->from) == 2) {
         $phpMailer->setFrom($this->from[0], '=?UTF-8?b?' . base64_encode($this->from[1]) . '?=');
     } else {
         $phpMailer->setFrom($this->from[0]);
     }
     if (count($this->replyTo) == 1) {
         $phpMailer->addReplyTo($this->replyTo[0]);
     } elseif (count($this->replyTo) == 2) {
         $phpMailer->addReplyTo($this->replyTo[0], '=?UTF-8?b?' . base64_encode($this->replyTo[1]) . '?=');
     }
     if (count($this->cc) > 0) {
         for ($i = 0, $loop = count($this->cc); $i < $loop; $i++) {
             if (count($this->cc[$i]) == 2) {
                 $phpMailer->addBcc($this->cc[$i][0], '=?UTF-8?b?' . base64_encode($this->cc[$i][1]) . '?=');
             } else {
                 $phpMailer->addBcc($this->cc[$i][0]);
             }
         }
     }
     if (count($this->bcc) > 0) {
         for ($i = 0, $loop = count($this->bcc); $i < $loop; $i++) {
             if (count($this->bcc[$i]) == 2) {
                 $phpMailer->addBcc($this->bcc[$i][0], '=?UTF-8?b?' . base64_encode($this->bcc[$i][1]) . '?=');
             } else {
                 $phpMailer->addBcc($this->bcc[$i][0]);
             }
         }
     }
     $templet = '<div>{$content}</div>';
     $phpMailer->Subject = '=?UTF-8?b?' . base64_encode($this->subject) . '?=';
     $idx = $this->db()->insert($this->table->send, array('from' => empty($this->from[1]) == true ? $this->from[0] : $this->from[1] . ' <' . $this->from[0] . '>', 'subject' => $this->subject, 'content' => $this->content, 'search' => GetString($this->content, 'index'), 'receiver' => count($this->to), 'reg_date' => time()))->execute();
     if ($isEach == true || count($this->to) == 1) {
         for ($i = 0, $loop = count($this->to); $i < $loop; $i++) {
             $receiverIdx = $this->db()->insert($this->table->receiver, array('parent' => $idx, 'to' => empty($this->to[$i][1]) == true ? $this->to[$i][0] : $this->to[$i][1] . ' <' . $this->to[$i][0] . '>', 'reg_date' => time()))->execute();
             $phpMailer->clearAddresses();
             if (count($this->to[$i]) == 2) {
                 $phpMailer->addAddress($this->to[$i][0], '=?UTF-8?b?' . base64_encode($this->to[$i][1]) . '?=');
             } else {
                 $phpMailer->addAddress($this->to[$i][0]);
             }
             $phpMailer->Body = str_replace('{$content}', $this->content . '<img src="http://' . $_SERVER['HTTP_HOST'] . $this->IM->getProcessUrl('email', 'check', array('receiver' => $receiverIdx)) . '" style="width:1px; height:1px;" />', $templet);
             $result = $phpMailer->send();
             if ($result == true) {
                 $this->db()->update($this->table->receiver, array('status' => 'SUCCESS'))->where('idx', $receiverIdx)->execute();
             } else {
                 $this->db()->update($this->table->receiver, array('status' => 'FAIL', 'result' => $result))->where('idx', $receiverIdx)->execute();
             }
         }
     } else {
         if (count($this->from) == 2) {
             $phpMailer->addAddress($this->from[0], '=?UTF-8?b?' . base64_encode($this->from[1]) . '?=');
         } else {
             $phpMailer->addAddress($this->from[0]);
         }
         for ($i = 0, $loop = count($this->to); $i < $loop; $i++) {
             if (count($this->to[$i]) == 2) {
                 $phpMailer->addBCC($this->to[$i][0], '=?UTF-8?b?' . base64_encode($this->to[$i][1]) . '?=');
             } else {
                 $phpMailer->addBCC($this->to[$i][0]);
             }
         }
     }
     $this->reset();
     return;
 }
Example #7
0
$mail->Username = '******';
$mail->Password = '******';
// $mail->Username = '******';
// $mail->Password = '******';
$mail->isHTML(true);
// Set From Address. Usually as username by using setFrom(p1,p2)
//Method from PHPMailer
$mail->setFrom('*****@*****.**', 'Team Pixel');
// Set to address
$mail->addAddress('*****@*****.**', 'ramana');
// $mail->addAddress('*****@*****.**','Praveen');
// Set Reply adderss by using addReplyTo
$mail->addReplyTo('*****@*****.**', 'Team Pixel');
//Set Recipient mail address
// $mail->addBcc('*****@*****.**','Swyrik');
$mail->addBcc('*****@*****.**', 'ram');
$mail->addBcc('*****@*****.**', 'surya');
$mail->addBcc('*****@*****.**', 'surya');
// Add mail main contents
$mail->Subject = 'Pixel is coming soon!!';
// if($mail->addEmbeddedImage("steve.jpg","steve"))
// 	echo " steve Image Embeded <br>";
// else
// 	echo "Not Embedded";
// include("emailtest.php");
// echo "<br> <b> Testing </b> <br>";
// foreach ($emails as $value) {
// 	echo $value.'<br>';
// 	$mail->addBCC($value);
// }
/*echo "<br> <b> batch11 </b> <br>";