Jump to content

Правильная отправка мыла через STMP


Recommended Posts

Пробуйте ставить адрес без излишеств, то есть

lutsk40@gmail.com

вместо

Andrei Shenduh <lutsk40@gmail.com>

ТАк нельзя, в форму отправку сообщения имя тоже тужно писать, без него не отправляет

Link to post
Share on other sites
  • 3 months later...

Эх, а у меня все равно страница белая...

 

 

<?php
 
class Notify extends Newcms
{
    function email($to, $subject, $message, $from = '', $reply_to = '')
    {
        require_once('lib/swift_required.php');

$transport = Swift_SmtpTransport::newInstance('smtp.google.com', 465, 'ssl')
    ->setUsername('почта google')
    ->setPassword('пароль от неё');

$mailer = Swift_Mailer::newInstance($transport);

$messages = Swift_Message::newInstance($subject)
    ->setFrom('my@example.com')
    ->setTo($to)
    ->setContentType("text/html; charset=UTF-8")
    ->setBody($message, 'text/html');

$result = $mailer->send($messages);
    }
 

 

Что не так-то? А этот способ только на отправку почты через ящик Google или Яндекс? А если со своего адреса? Например info@домен магазина

Link to post
Share on other sites
  • 4 weeks later...

Такая же проблема. Вот, что ответили на хостинге "Мастерхост"

В целях безопасности, на всех серверах виртуального UNIX-хостинга заблокированы исходящие соединения на 25 порт, поэтому необходимо использовать альтернативный номер порта, который нужно уточнить у владельца SMTP-сервера, то есть у mail.ru

 

Изменения нужно будет произвести В настройках Вашего скрипта через который осуществляется отправка почты. Эту информацию Вам необходимо уточнить у разработчика.

  Буду копать дальше...

Вот ответ с мэйла..

Попробуйте изменить порт для SMTP-сервера на 465 (с шифрованием).

  

Кто подскажет, в каком файле править порт?

Edited by Drongo
Link to post
Share on other sites

Kors спасибо, разобрался, вся работает.

  Я считал, что нужно всего лишь поменять номер порта в каком нибудь файле на сайте...

Пока все работает!!! Письма приходят!!!  Но, только с почтой типа админ@mail.ru

Link to post
Share on other sites

Эх, а у меня все равно страница белая...

 

 

<?php
 
class Notify extends Newcms
{
    function email($to, $subject, $message, $from = '', $reply_to = '')
    {
        require_once('lib/swift_required.php');

$transport = Swift_SmtpTransport::newInstance('smtp.google.com', 465, 'ssl')
    ->setUsername('почта google')
    ->setPassword('пароль от неё');

$mailer = Swift_Mailer::newInstance($transport);

$messages = Swift_Message::newInstance($subject)
    ->setFrom('my@example.com')
    ->setTo($to)
    ->setContentType("text/html; charset=UTF-8")
    ->setBody($message, 'text/html');

$result = $mailer->send($messages);
    }
 

 

Что не так-то? А этот способ только на отправку почты через ящик Google или Яндекс? А если со своего адреса? Например info@домен магазина

Забыли указать свою почту еще в одном месте... 

->setFrom('my@example.com')

У меня все работает, но только с почтой, типа админ@mail.ru

  С почтой админ@мой сайт.ру   работать не хочет

Link to post
Share on other sites
  • 4 months later...

После отправки заказа из корзины открывается белый экран. На почту уведомление о заказе не приходит, хотя все сделал по инструкции, логин пароль от почты добавил. В чем может быть проблема?

Link to post
Share on other sites

Включите отображение ошибок или посмотрите логи сервера

Белый экран - может быть ЧТО УГОДНО, а все наши штатные экстрасенсы в отпуске.

Link to post
Share on other sites
  • 7 months later...

Ребята, подскажите пожалуйста, все сделал по инструкции, но выдает такую ошибку:


Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /home/ikurtov/itarget.com.ua/www/api/lib/swift_required.php on line 13

 

 

КТО знает в чем проблема???
 

СПАСИБО!

Link to post
Share on other sites
  • 1 year later...

Всем привет, всё делал по инструкции но получаю ошибку, вот в этой строке return $this->params['sourceIp'] ?? null; как я понимаю ?? работает только в php 7, если я прав то подскажите как приспособить для php 5.6 ?

Заранее благодарю.

Link to post
Share on other sites

 return $this->params['sourceIp'] ?? null;

как приспособить для php 5.6 ?

 

return isset($this->params['sourceIp']) ? $this->params['sourceIp'] : null;

 

 

ну или совсем в лоб:

if (isset($this->params['sourceIp'])) {
    return $this->params['sourceIp'];
} else {
    return null;
}
Edited by Maksclub
Link to post
Share on other sites

Всем спасибо за помощь но теперь появилась новая ошибка 

$this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder();

Я думаю это не последняя ошибка которая появится.)))

Link to post
Share on other sites

Всем спасибо за помощь но теперь появилась новая ошибка

$this->addressEncoder = $addressEncoder ?? new Swift_AddressEncoder_IdnAddressEncoder();

Я думаю это не последняя ошибка которая появится.)))

https://www.google.com.ua/amp/s/fortress-design.com/php-if-compact-syntax/amp/
Link to post
Share on other sites
  • 1 year later...

Оставлю здесь, если кто столкнулся с проблемами при отправке писем через SSL на Swift. Вчера утром у меня перестали отправляться письма, анализ логов показал следующую ошибку:

PHP Fatal error:  Uncaught exception 'Swift_TransportException' with message 'Connection could not be established with host smtp.yandex.ru [ #0]'

Решение в моём случае оказалось следующим:

 

сразу после

$transport = Swift_SmtpTransport::newInstance('smtp.yandex.ru', 465, 'ssl')
	->setUsername('my@example.com')
	->setPassword('password');

добавляем:

$transport->setStreamOptions(array('ssl' => array('allow_self_signed' => true, 'verify_peer' => false)));

Всё заработало. На сервере установлен php 5.6.

Link to post
Share on other sites
  • 2 years later...

Добрый день, 

Таже проблема с письмами на simpla cms. 

Сделал как автор сказал - получил ошибку:

api/lib/classes/Swift/Transport/EsmtpTransport.php on line 144

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...