Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Функция копированая с форума битрикса. Можно причесать. Работа на будущее) */
- function custom_mail($to, $subject, $message, $additional_headers, $additional_parameters) {
- require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/php_interface/vendor/PHPMailer/PHPMailerAutoload.php');
- /* Парсинг дополнительных заголовков в письмах. */
- $additional_headers_array = explode("\n", $additional_headers);
- $arHeaders = array();
- foreach ($additional_headers_array as $key => $value) {
- $arTmp = explode(':', $value);
- $arHeaders[$arTmp[0]] = $arTmp[1];
- }
- $arHeaders['BCC'] = explode(',', trim($arHeaders['BCC']));
- unset($additional_headers_array);
- /* Настройки smtp */
- $smtp = array(
- 'host' => 'smtp.site.ru',
- 'user' => 'no-reply@site.ru',
- 'password' => 'pa55wd',
- 'from' => 'no-reply@site.ru',
- 'fromName' => 'M8TK'
- );
- $to = str_replace(' ','', $to);
- if (substr_count($message, "Content-Type: text/html")) {
- /* Отправка HTML письма. */
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $mail->CharSet = 'UTF-8';
- $mail->Host = $smtp['host']; // SMTP server example
- $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
- $mail->Timeout = 10;
- $mail->SMTPAuth = true; // enable SMTP authentication
- $mail->Port = 2525; // set the SMTP port for the GMAIL server
- $mail->Username = $smtp['user']; // SMTP account username example
- $mail->Password = $smtp['password']; // SMTP account password example
- $mail->From = $smtp['from'];
- $mail->FromName = $smtp['fromName'];
- $address = explode(',', $to);
- foreach ($address as $addr) {
- $mail->addAddress($addr);
- }
- foreach ($arHeaders['BCC'] as $bcc_email) {
- $mail->AddBCC(trim($bcc_email));
- }
- $mail->Subject = $subject;
- $mail->Encoding = '8bit';
- $bndr = substr(substr($message, 0, 25), -23); // А ВОТ ТУТ МУТИМ СВОЮ МАГИЮ!
- $mail->ContentType = 'multipart/mixed; boundary="' . $bndr . '"';
- $mail->Body = $message;
- if (!$mail->send()) {
- echo "Message could not be sent. <p>";
- echo "Mailer Error: " . $mail->ErrorInfo;
- return false;
- exit;
- }
- return true;
- } else {
- /* Отправка Plain Text письма. */
- $mail = new PHPMailer();
- $mail->IsSMTP();
- $mail->CharSet = 'UTF-8';
- $mail->Host = $smtp['host']; // SMTP server example
- $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
- $mail->Timeout = 10;
- $mail->SMTPAuth = true; // enable SMTP authentication
- $mail->Port = 2525; // set the SMTP port for the GMAIL server
- $mail->Username = $smtp['user']; // SMTP account username example
- $mail->Password = $smtp['password']; // SMTP account password example
- $mail->From = $smtp['from'];
- $mail->FromName = $smtp['fromName'];
- $address = explode(',', $to);
- foreach ($address as $addr) {
- $mail->addAddress($addr);
- }
- foreach ($arHeaders['BCC'] as $bcc_email) {
- $mail->AddBCC(trim($bcc_email));
- }
- $mail->isHTML(true); // Set email format to HTML
- $mail->Subject = $subject;
- $mail->Body = $message;
- if (!$mail->send()) {
- echo "Message could not be sent. <p>";
- echo "Mailer Error: " . $mail->ErrorInfo;
- return false;
- exit;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement