Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Подключение PHPMailer, не подключается
Kusss  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




require_once $_SERVER['DOCUMENT_ROOT'].'/PHPMailer/class.phpmailer.php';
$mail = new PHPMailer(true);
выдает
Parse error: syntax error, unexpected T_FUNCTION in .../PHPMailer/class.phpmailer.php on line 3040

вот функция по этому "адресу"
    protected function clearQueuedAddresses($kind)
{
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$RecipientsQueue = $this->RecipientsQueue;
foreach ($RecipientsQueue as $address => $params) {
if ($params[0] == $kind) {
unset($this->RecipientsQueue[$address]);
}
}
}
else {
$this->RecipientsQueue = array_filter(
$this->RecipientsQueue,
function ($params) use ($kind) {
return $params[0] != $kind;
});
}
}

3040 строка
                function ($params) use ($kind) {

Может кто подскажет. что это может быть ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




У меня старая версия php, нагуглил решение.
    protected function clearQueuedAddresses($kind)
{
//if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$RecipientsQueue = $this->RecipientsQueue;
foreach ($RecipientsQueue as $address => $params) {
if ($params[0] == $kind) {
unset($this->RecipientsQueue[$address]);
}
}

//} else {
// $this->RecipientsQueue = array_filter(
// $this->RecipientsQueue,
// function ($params) use ($kind) {
// return $params[0] != $kind;
// });
//}

}

https://github.com/PHPMailer/PHPMailer/issues/535

Это сообщение отредактировал Kusss - 18.05.2016 - 14:24
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8832
Пользователь №: 26630
На форуме: 5 лет, 10 месяцев, 17 дней
Карма: 598




Kusss
пора апгрейдить PHP wink.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




Согласен. Заказал переход на 5.4
Надеюсь ничего не отвалиться из-за совместимости ph34r.gif
Ознакомился с изменениями 5.2 -> 5.3 -> 5.4. Хорошо что их не так много.

P.S. PHPMailer так и не заработал. Буду завтра пробовать на 5.4
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5552
Пользователь №: 32538
На форуме: 4 года, 7 месяцев, 23 дня
Карма: 51




Kusss
Я на php 7 перешел. И все ровненько работает)


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22766
Пользователь №: 20039
На форуме: 7 лет, 1 месяц, 12 дней
Карма: 600




Kusss
composer, ставь пакет с phpmailer и всё.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




Фигня какая-то . Класс заработал на половину.
Пытаюсь подключиться к mail.ru по smtp.

Пишет что не может подключить класс smtp
Fatal error: Class 'SMTP' not found

хотя все файлы есть.

Пробовал подключать по разному
	//require '/PHPMailer/PHPMailerAutoload.php';
require '/PHPMailer/class.phpmailer.php'; //путь до класса phpmailer
//require '/PHPMailer/class.smtp.php'; //путь до класса smtp

$mail = new PHPMailer;

Если подключать Autoload.php или добавить class.smtp.php - ничего не происходит, крутиться колесико выполнения.

Помогите победить.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
[x] Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









У меня работает из коробки:

require __DIR__ . '/PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();
$mail->Host = 'smtp.mail.ru';
$mail->SMTPAuth = true;
$mail->Username = 'username@mail.ru';
$mail->Password = 'pa$$w0rd';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

$mail->setFrom('from@mail.ru', 'Sender');
$mail->addAddress('recipient@mail.ru', 'Recipient');
$mail->isHTML(true);

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




Спасибо, так заработало.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




Письма уходят в Спам :(

SPF запись я добавил
добавил заголовок
$mail->addCustomHeader('Precedence', 'bulk');


Что ещё можно/нужно сделать. ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1391
Пользователь №: 28976
На форуме: 5 лет, 5 месяцев, 21 день
Карма: 78




отправка с домена site.ru, у которой есть и домен и почта

отправляю вот так ...
header('Content-Type: text/html; charset=utf-8', true);	

include '..../___function.php';
require '..../PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer;


$mail->isSMTP();
$mail->Host = 'smtp.mail.ru';
$mail->SMTPAuth = true;
$mail->Username = 'login@site.ru';
$mail->Password = 'Password';
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

$mail->CharSet = "UTF-8";
$mail->setFrom('login@site.ru', 'Интернет магазин site.com ' );
$mail->addCustomHeader('Precedence', 'bulk');

$array = array(
array(
'mail' => 'toMail1',
),

array(
'mail' => 'toMail2',
),

array(
'mail' => 'toMail3',
),
);


$spam = file_get_contents('http://site.com/spam/');

foreach ($array AS $value) {
$key = hash_spam($value['mail']);
$url = 'http://site.com/no-spam/?email='.$value['mail'].'&key='.$key;

$subject = 'Новинки недели сайта site.com';
$text = $spam.'
<br>
Это письмо было послано Вам системой автоматической рассылки сайта site.com<br>
Если Вы хотите отписаться от данной рассылки, пройдите по этой ссылке <a href="'
.$url.'" style="color: black;" title="Отписаться">Отписаться</a>.<br>
Ссылка текстом: <b>'
.$url.'</b>
'
;

$mail->addAddress($value['mail']);
$mail->isHTML(true);

$mail->Subject = $subject;
$mail->Body = $text;

if(!$mail->send()) {
echo '<br>'.$value['mail'];
echo '<br>Ошибка: ' . $mail->ErrorInfo;
} else {
echo '<br>Удачно '.$value['mail'];
}

$mail->ClearAddresses();

usleep(25000);
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









В соседней теме обсуждали че-то подобное. Там была ссылка на Тостер.

Еще есть вариант слать письма через специальные (транзакционные) сервисы. Они вообще платные, но у них есть бесплатные тарифные планы, которые включают 10 000 писем в месяц.

Например,
https://www.mailgun.com/pricing
https://www.sparkpost.com/pricing

P.S. Я как-то о них уже писал, но наверное inpost (ну а кто ж еще) снес пост.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 8 дней
Карма: 7




Kusss
у меня вчера была такая проблема с маил.ру, письма начали уходить в спам

Когда я отправлял письмо то От кого ставил вот так
Цитата
SUPPORT OLM.kz <info@olm.kz>


Потом подумал что может на SUPPORT ругается и адрес сайта и поставил
так
Цитата
OLM <info@olm.kz>


Вроде пошли во входящие, но не всегда и порой попадали в спам

Просмотрев служебные заголовки нигде не обнаружил <info@olm.kz>
и везде стоял адрес хоста <olm@oprah.timeweb.ru>

И вот тут я подумал, что получается письмо то не с сайта моего идет
а с хостинга на котором сайт лежит и получается я вписываю неправильные
заголовки и маил.ру ругается и меня в спам

Заменил на
Цитата
OLM <olm@oprah.timeweb.ru>

Ну а в самом письме написал уже адрес супорта сайта

Короче я так понял что из всех заголовков нужно убрать адрес сайта,
ссылки на сайт можно поставить в теле письма, а когда ставишь в заголовки
получается сравнение у маил.ру что ты поставил одно а в служебном другое
приходит и значит ты плохой и в Спам тебя, короче это не есть Гут
так сто просмотри заголовки

У меня после этого всего письма полетели во входящие и даже иконка письма
стала светло-зеленой, а была сиреневой rolleyes.gif

Цитата
В соседней теме обсуждали че-то подобное. Там была ссылка на Тостер.


Это мой топик, мне redreem ссылку на тостер давал, но мне не помогло
и пришлось самому ковыряться, а вот и ссылка на эту тему http://phpforum.su/index.php?showtopic=900...5&#entry3112374

_
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 8 дней
Карма: 7




Ты вот здесь
$mail->setFrom('login@site.ru', 'Интернет магазин site.com ' );

попробуй убрать адрес сайта и поставить почту хоста

Почту хоста можешь в служебном заголовке глянуть и из названия письма тоже
убери адрес сайта. И получится что тоо вроде
$mail->setFrom('почта хоста', 'Интернет магазин' );
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 11 месяцев, 8 дней
Карма: 7




Решил я скачать этот класс и протестировать

Скачал, установил отправил несколько раз к себе на почту маил.ру

Вывод:

Когда отправлял вот так
include_once $_SERVER['DOCUMENT_ROOT'].'/PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer();

//$mail->SMTPDebug = 2;

file_exists("/language/phpmailer.lang-ru.php") ? $mail->SetLanguage("ru", "/language/") : $mail->SetLanguage("en", "/language/");
$mail->isMAIL(); // указали, что не смтп
$mail->CharSet = "UTF-8"; // кодировка заголовков
$mail->setFrom('olm@oprah.timeweb.ru', 'Интернет магазин site.com'); // от кого

$subject = 'Новинки недели сайта site.com';
$text = 'Это письмо было послано Вам системой автоматической рассылки сайта site.com<br>'.
'Если Вы хотите отписаться от данной рассылки, пройдите по этой ссылке';

$mail->Subject = $subject;
$mail->Body = $text;

$mail->addAddress('freeacces@mail.ru', 'Astin');

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Ошибка: ' . $mail->ErrorInfo;
} else {
echo '<br>Удачно';
}

$mail->clearAddresses();
$mail->clearCustomHeaders();
$mail->clearAttachments();
$mail->clearReplyTos(); // чистим все заголовки

То попадало в СПАМ

Когда убрал из заголовка site.com и от кого тоже убрал site.com
и отправил вот так
include_once $_SERVER['DOCUMENT_ROOT'].'/PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer();

//$mail->SMTPDebug = 2;

file_exists("/language/phpmailer.lang-ru.php") ? $mail->SetLanguage("ru", "/language/") : $mail->SetLanguage("en", "/language/");
$mail->isMAIL(); // указали, что не смтп
$mail->CharSet = "UTF-8"; // кодировка заголовков
$mail->setFrom('olm@oprah.timeweb.ru', 'Интернет магазин site'); // от кого

$subject = 'Новинки недели сайта';
$text = 'Это письмо было послано Вам системой автоматической рассылки сайта site.com<br>'.
'Если Вы хотите отписаться от данной рассылки, пройдите по этой ссылке';

$mail->Subject = $subject;
$mail->Body = $text;

$mail->addAddress('freeacces@mail.ru', 'Astin');

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Ошибка: ' . $mail->ErrorInfo;
} else {
echo '<br>Удачно';
}

$mail->clearAddresses();
$mail->clearCustomHeaders();
$mail->clearAttachments();
$mail->clearReplyTos(); // чистим все заголовки


То все пришло во входящие, причем отправлял несколько раз подряд
и все приходили во входящие, но замечу что я в строке от кого
указал не почту которая на домене а почту хоста которая передается
в служебные заголовки

Надеюсь Kusss тебе это поможет
_
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса