Перейти к содержанию
Форум поддержки пользователей VamShop

отправка через SMTP


Рекомендуемые сообщения

6 часов назад, shaklov сказал:

Как в VamShop2 сделать отправку почты через SMTP? Поиском не нашёл.

Я там сделал заготовку для отправки smtp в /app/Controller/Component/EmailComponent.php

Ищите по smtp

Там закомментированные строки надо раскомментировать и указать сервер, логин и пароль.

По идее, так.

Ссылка на сообщение
Поделиться на другие сайты

Не хватает там много переменных. Простое добавление ничего не дало. Видимо обработчик еще нужно дописывать.

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...

Столкнулся с такой проблемой что письма на некоторые почтовые домены не приходят (ну это же нормально). Решил подключить все через smtp.Получился код такой:

		//$this->IsMail();		

		// set more PHPMailer vars, for smtp etc.
		$this->IsSMTP();
		$this->SMTPKeepAlive = true; // set mailer to use SMTP
		$this->SMTPAuth = true; // turn on SMTP authentication true/false
		$this->Username = 'info@domen.ru'; // SMTP username
		$this->Password = 'password'; // SMTP password
        $this->SMTPSecure = 'tls';
        $this->Port = 587;
		$this->Host = 'smtp.yandex.ru'; // specify smtp server

Пишет, что не может найти SMTP класс -))) скриншот нужно показать этого сообщения?)

Ссылка на сообщение
Поделиться на другие сайты

А другие smtp серверы пробовали?!

Тоже не работают?

Файл class.smtp.php на месте у Вас в /app/Vendor/phpmailer ?!

Ссылка на сообщение
Поделиться на другие сайты

А если вот этот файл /app/Controller/Component/EmailComponent.php

Только там надо свои логин, пароль указать.

Ошибку класса не выводить, вроде как.

EmailComponent.php

46 минуты назад, SHKEd сказал:

Да не, не пробовал.... можно попробовать.... сейчас попробую майл.ру. Отпишусь)

 

scrinshot 1114 17:20:08.jpg

 

Ссылка на сообщение
Поделиться на другие сайты

Попробовал =) Теперь он не выдает ошибок, но и не отправляет походу, по крайне мере, у меня не получилось отправить на ящик @qip.ru письмо, с различными smtp серверами: gmail, yandex,mail. Использовал различные конфиги, но чет глухо ...  Я даже не знаю, отправляется ли, или где-то застрял))))

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте вот правку из статьи - https://nasrulhazim.wordpress.com/2014/04/12/cakephp-phpmailer-component-using-gmail-smtp/

т.е. в class.smtp.php внести правку или в class.phpmailer.php 

Я сам через gmail никогда не настраивал отправку, так что ничего конкретного сказать не могу.

Надо включать отладку в phpmailer и смотреть, что там за ошибка, может не подключается к smtp серверу.

Примеры работы с smtp в phpmailer есть на официальном сайте:

http://phpmailer.worxware.com/index.php?pg=examplebsmtp

http://phpmailer.worxware.com/index.php?pg=examplebsmtpna

http://phpmailer.worxware.com/index.php?pg=exampleasmtp

http://phpmailer.worxware.com/index.php?pg=exampleasmtpna

http://phpmailer.worxware.com/index.php?pg=examplebgmail

http://phpmailer.worxware.com/index.php?pg=exampleagmail

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...
		App::import('Vendor', 'PHPMailer', array('file' => 'phpmailer'.DS.'PHPMailerAutoload.php'));
        $this->m = new PHPMailer;
        $this->IsSMTP();
        $this->Host = "smtp.yandex.ru"; 
        $this->SMTPAuth = true;
        $this->SMTPSecure = "tls";
        $this->Port = 587;
        $this->SMTPDebug  = 0; // turn it off in production
        $this->Username   = "login@yandex.ru";  
        $this->Password   = "password";

Такой конфиг помог на яндекс

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, что поделились решением.

Добавил в faq Ваше решение, что б не потерялось со временем на форуме - 

 

Ссылка на сообщение
Поделиться на другие сайты
  • 4 months later...

Не удается настроить отправку через внешний smtp требующий TLS
на примере яндекс почты.

Поправил файл /inc/vam_php_mail.inc.php

if (EMAIL_TRANSPORT == 'smtp') {
        $mail->IsSMTP();
        $mail->SMTPKeepAlive = true; // set mailer to use SMTP
        $mail->SMTPAuth = SMTP_AUTH; // turn on SMTP authentication true/false
        $mail->Port = 587 ;
    $mail->SMTPSecure = "tls";
    $mail->Username = SMTP_USERNAME; // SMTP username
        $mail->Password = SMTP_PASSWORD; // SMTP password
        $mail->Host = SMTP_MAIN_SERVER . ';' . SMTP_Backup_Server; // specify main and backup server "smtp1.example.com;smtp2.example.com"
    }


Получаю такую ошибку
Class 'SMTP' not found in /includes/external/phpmailer/class.phpmailer.php on line 1520
при отправке

Добавляю

в /admin/includes/application_top.php добавить:

require_once (DIR_WS_INCLUDES . 'external/phpmailer/class.phpmailer.php');
if (EMAIL_TRANSPORT == 'smtp')
	require_once (DIR_WS_INCLUDES . 'external/phpmailer/class.smtp.php');
require_once (DIR_FS_INC.'vam_Security.inc.php');

Получаю
Warning: require_once(includes/external/phpmailer/class.phpmailer.php): failed to open stream: No such file or directory in /admin/includes/application_top.php on line 305

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте так:
 

require_once (DIR_FS_CATALOG . 'includes/external/phpmailer/class.phpmailer.php');
if (EMAIL_TRANSPORT == 'smtp')
	require_once (DIR_FS_CATALOG . 'includes/external/phpmailer/class.smtp.php');

 

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...