Advertisement
Guest User

Untitled

a guest
Feb 19th, 2016
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1.  
  2. /* Функция копированая с форума битрикса. Можно причесать. Работа на будущее) */
  3. function custom_mail($to, $subject, $message, $additional_headers, $additional_parameters) {
  4. require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/php_interface/vendor/PHPMailer/PHPMailerAutoload.php');
  5.  
  6. /* Парсинг дополнительных заголовков в письмах. */
  7. $additional_headers_array = explode("\n", $additional_headers);
  8. $arHeaders = array();
  9.  
  10. foreach ($additional_headers_array as $key => $value) {
  11. $arTmp = explode(':', $value);
  12. $arHeaders[$arTmp[0]] = $arTmp[1];
  13. }
  14.  
  15. $arHeaders['BCC'] = explode(',', trim($arHeaders['BCC']));
  16. unset($additional_headers_array);
  17.  
  18. /* Настройки smtp */
  19. $smtp = array(
  20. 'host' => 'smtp.site.ru',
  21. 'user' => 'no-reply@site.ru',
  22. 'password' => 'pa55wd',
  23. 'from' => 'no-reply@site.ru',
  24. 'fromName' => 'M8TK'
  25. );
  26.  
  27.  
  28. $to = str_replace(' ','', $to);
  29. if (substr_count($message, "Content-Type: text/html")) {
  30. /* Отправка HTML письма. */
  31. $mail = new PHPMailer();
  32. $mail->IsSMTP();
  33. $mail->CharSet = 'UTF-8';
  34. $mail->Host = $smtp['host']; // SMTP server example
  35. $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
  36. $mail->Timeout = 10;
  37. $mail->SMTPAuth = true; // enable SMTP authentication
  38. $mail->Port = 2525; // set the SMTP port for the GMAIL server
  39. $mail->Username = $smtp['user']; // SMTP account username example
  40. $mail->Password = $smtp['password']; // SMTP account password example
  41. $mail->From = $smtp['from'];
  42. $mail->FromName = $smtp['fromName'];
  43.  
  44. $address = explode(',', $to);
  45.  
  46. foreach ($address as $addr) {
  47. $mail->addAddress($addr);
  48. }
  49.  
  50. foreach ($arHeaders['BCC'] as $bcc_email) {
  51. $mail->AddBCC(trim($bcc_email));
  52. }
  53.  
  54. $mail->Subject = $subject;
  55. $mail->Encoding = '8bit';
  56.  
  57. $bndr = substr(substr($message, 0, 25), -23); // А ВОТ ТУТ МУТИМ СВОЮ МАГИЮ!
  58. $mail->ContentType = 'multipart/mixed; boundary="' . $bndr . '"';
  59. $mail->Body = $message;
  60.  
  61. if (!$mail->send()) {
  62. echo "Message could not be sent. <p>";
  63. echo "Mailer Error: " . $mail->ErrorInfo;
  64. return false;
  65. exit;
  66. }
  67.  
  68. return true;
  69.  
  70. } else {
  71. /* Отправка Plain Text письма. */
  72. $mail = new PHPMailer();
  73. $mail->IsSMTP();
  74. $mail->CharSet = 'UTF-8';
  75. $mail->Host = $smtp['host']; // SMTP server example
  76. $mail->SMTPDebug = 0; // enables SMTP debug information (for testing)
  77. $mail->Timeout = 10;
  78. $mail->SMTPAuth = true; // enable SMTP authentication
  79. $mail->Port = 2525; // set the SMTP port for the GMAIL server
  80. $mail->Username = $smtp['user']; // SMTP account username example
  81. $mail->Password = $smtp['password']; // SMTP account password example
  82. $mail->From = $smtp['from'];
  83. $mail->FromName = $smtp['fromName'];
  84.  
  85. $address = explode(',', $to);
  86.  
  87. foreach ($address as $addr) {
  88. $mail->addAddress($addr);
  89. }
  90.  
  91. foreach ($arHeaders['BCC'] as $bcc_email) {
  92. $mail->AddBCC(trim($bcc_email));
  93. }
  94.  
  95. $mail->isHTML(true); // Set email format to HTML
  96. $mail->Subject = $subject;
  97. $mail->Body = $message;
  98.  
  99. if (!$mail->send()) {
  100. echo "Message could not be sent. <p>";
  101. echo "Mailer Error: " . $mail->ErrorInfo;
  102. return false;
  103. exit;
  104. }
  105.  
  106. return true;
  107. }
  108.  
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement