Как настроить почтовый сервис в laravel 5.4, когда почтовый клиент - это веб-почта?

У меня есть предыстория отправки почты из драйвера SMTP. Но в настоящее время я работаю над проектом, в котором почтовый клиент использует webmail.DomainName.com (почтовый хост начинается с webmail), а веб-сайт размещается на Plesk Automation (система автоматизации веб-хостинга, такая как Cpanel). Я не могу отправлять электронные письма из моего собственного интерфейса на другие электронные письма. на самом деле это мой почтовый сервер домена, который отказывается отправлять почту. Я уже создал почтовую учетную запись, которую использую в файле .env. Но я не знаю, как это решить и где я ошибаюсь в своем коде.

Это мой код функции конфигурации почты в моем почтовом контроллере

  public function mailSender(Request $request)
{
    $data = new EmailVarification();
    $data->email = $request['email'];
    $data->token = str_random(40);
    $data->save();
    $dataVar['token'] = $data->token;
    $dataVar['from'] = "[email protected]";
    $dataVar['email'] = "[email protected]";
    Mail::send('pages.registration.emailcon', $dataVar, function ($message) use ($dataVar) {
        $message->from($dataVar['from']);
        $message->to($dataVar['email']);
        $message->subject('Account Activation ');
    });
    return "saved";
}

Для быстрой настройки я использую файл .nev для почты, и моя конфигурация в разделе почты .env:

BROADCAST_DRIVER=log
MAIL_DRIVER=SMTP
MAIL_HOST=webmail.MyDomain.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=MyEmailPassword
MAIL_ENCRYPTION=

Когда я отправляю электронное письмо, я получаю эту ошибку #screenshot  введите описание изображения здесь По моей оценке, проблема связана с частью MAIL_DRIVER = SMTP в .env, где webmail.MyDomain.com не позволяет или что-то еще Я не знаю.

введите здесь описание изображения


person Hanif Formoly    schedule 12.07.2017    source источник
comment
в чем проблема, я правда не понял   -  person Anar Bayramov    schedule 12.07.2017
comment
привет, Родрейн, извините за это, теперь я обновил свой вопрос, вы можете увидеть изображение ошибки   -  person Hanif Formoly    schedule 12.07.2017
comment
можешь попробовать MAIL_ENCRYPTION=tls   -  person Anar Bayramov    schedule 12.07.2017
comment
я сделал, но все еще то же сообщение об ошибке   -  person Hanif Formoly    schedule 12.07.2017
comment
попробуйте указать IP сервера вместо имени домена MAIL_HOST=192.168.1.1 (your.server.ip)   -  person Anar Bayramov    schedule 12.07.2017
comment
Хорошо, спасибо, Родран, только что проверил, все еще ошибка Не удалось установить соединение с хостом # мой IP-адрес сервера и т. д.   -  person Hanif Formoly    schedule 12.07.2017
comment
Я думаю, что #plesk использует что-то еще или какие-то привилегии для отправки почты.   -  person Hanif Formoly    schedule 12.07.2017
comment
Давайте продолжим это обсуждение в чате.   -  person Anar Bayramov    schedule 12.07.2017
comment
Привет, ты решил это?   -  person JazZ    schedule 07.11.2017
comment
к сожалению нет   -  person Hanif Formoly    schedule 12.11.2017
comment
Нам нужно связаться с провайдером домена, чтобы сначала указать mail.domain.com на сервер, это будет 2 процесса, создание записи A и записи MX, команда хостинга также проинструктирует, как это сделать. Или вы получите: Connection could not be established with host mail.domain.com [php_network_getaddresses: getaddrinfo failed: Name or service not known #0]   -  person Reejesh PK    schedule 10.06.2020


Ответы (1)


Может стоит начать настройку пароля сброса. Это проще, вам нужно только выполнить команды, которые нам дает laravel. В laravel 5.2 (я использую) вам нужно выполнить эту команду для создания представлений для сброса забытых паролей.

php artisan make:auth

И эта команда для выполнения миграции, создания таблиц пользователей и сброса пароля.

php artisan migrate

После того, как у вас есть виды, которые нужно сбросить, и вы можете получить к ним доступ; вам нужно создать новый адрес электронной почты с вашим доменом. Я использую "Hosting-México" (Hosting-México предоставляет мне cpanel для управления моим доменом), в моем случае, когда я создаю новый (из cpanel), только для отправки электронных писем из backend, cpanel предоставляет мне конкретную информацию для настроить почтовый аккаунт. Эту информацию вам необходимо поместить в файл .env. Создание учетной записи электронной почты

В моем домене тоже используется веб-почта, например, почтовый клиент. Но информация, которую мне дает cpanel, не похожа на веб-почту.

Это информация, которую мне дает cpanel.

  • Имя пользователя: [email protected]
  • Пароль: пароль, который вы настроили для учетной записи.
  • Входящий сервер: visshnu.hosting-mexico.net, порт IMAP: ### Порт POP3: ###
  • Почтовый сервер: visshnu.hosting-mexico.net, Порт SMTP: ###

    А это мой файл .env:

    MAIL_DRIVER = smtp

    MAIL_HOST = vishnu.hosting-mexico.net

    MAIL_PORT = ###

    [email protected]

    MAIL_PASSWORD = ###########

    MAIL_ENCRYPTION = ssl

Как вы можете увидеть конкретную информацию, которую дает мне cpanel, она не похожа на веб-почту, хотя почтовый сервер действительно использует веб-почту.

Возможно, хостинг выступает в роли посредника, и данные, необходимые для настройки laravel, должны быть предоставлены вашим capnel.

Я надеюсь это поможет тебе

person edgargrs    schedule 09.01.2018