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...

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...