Guest User

Untitled

a guest
Sep 6th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. /**
  2. * Заменяем стандартную отправку письма
  3. */
  4. function custom_mail($to, $subject, $message, $additional_headers, $additional_parameters) {
  5. $login = 'логин@mail.ru';
  6. $password = 'пароль';
  7.  
  8. //парсим дополнительные заголовки в массив
  9. $arHeaders = [];
  10. if (!empty($additionalHeaders)) {
  11. $explode = explode("\n", $additionalHeaders);
  12. foreach ($explode as $strHeader) {
  13. if (preg_match('/^([^\:]+)\:(.*)$/', $strHeader, $matches)) {
  14. $key = trim($matches[1]);
  15. $value = trim($matches[2]);
  16. $arHeaders[$key] = $value;
  17. }
  18. }
  19. }
  20.  
  21. if (function_exists('mb_internal_encoding') && ((int) ini_get('mbstring.func_overload')) & 2) {
  22. $mbEncoding = mb_internal_encoding();
  23. mb_internal_encoding('ASCII');
  24. }
  25.  
  26. $mail = new PHPMailer;
  27. $mail->Timeout = 15;
  28. $mail->isSMTP();
  29. $mail->Host = 'smtp.mail.ru';
  30. $mail->SMTPAuth = true;
  31. $mail->Username = $login;
  32. $mail->Password = $password;
  33. $mail->SMTPSecure = 'ssl';
  34. $mail->Port = 465;
  35.  
  36. $mail->setFrom($login, $login);
  37. foreach (array_map('trim', explode(',', $to)) as $emailTo) {
  38. $mail->addAddress($emailTo);
  39. }
  40. //парсим копии, если есть
  41. if (!empty($arHeaders['CC'])) {
  42. foreach (array_map('trim', explode(',', $arHeaders['CC'])) as $emailTo) {
  43. $mail->addCC($emailTo);
  44. }
  45. unset($arHeaders['CC']);
  46. }
  47. //парсим скрытые копии, если есть
  48. if (!empty($arHeaders['BCC'])) {
  49. foreach (array_map('trim', explode(',', $arHeaders['BCC'])) as $emailTo) {
  50. $mail->addBCC($emailTo);
  51. }
  52. unset($arHeaders['BCC']);
  53. }
  54. $mail->isHTML(true);
  55. $mail->Subject = $subject;
  56. $mail->Body = $message;
  57. $mail->AltBody = '';
  58.  
  59. $result = $mail->send();
  60.  
  61. if (isset($mbEncoding)) {
  62. mb_internal_encoding($mbEncoding);
  63. }
  64.  
  65. return $result;
  66. }
Add Comment
Please, Sign In to add comment