У меня проблема с отправкой электронного письма зарегистрированному пользователю с использованием платформы Laravel - PullRequest
0 голосов
/ 31 октября 2019

Когда пользователь регистрируется, он получает электронное письмо, зарегистрированное в приложении. В моей среде разработки, используя mailtrap.io, если вы получаете изображение проекта, в котором вы зарегистрировались, но когда я отправляю его из Интернета в производство, это изображение не отображается.

Это код, который яИспользуйте для отправки почты, а также для отправки переменных, необходимых для отображения изображения. EnviarEmail.php:

public $usuario;
    public $proyecto;
    public $ruta_imagen;
    public $logo;

    public function __construct(Usuario $usuario, $proyecto, $ruta_imagen, $logo)
    {
        $this->usuario = $usuario;
        $this->proyecto = $proyecto;
        $this->ruta_imagen = $ruta_imagen;
        $this->logo = $logo;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('Mail.mail')
                    ->from('developer@autoevaluaciononline.com')
                    ->subject('Confirmación de registro');
    }

Сохранить пользователя:

$proyecto_nombre = Proyecto::where('id', $id)->get(['titulo_proyecto']);
$proyecto = $proyecto_nombre[0]->titulo_proyecto;
$logo = "images/logos/logo-KRMedicine.png";
$ruta_imagen = "images/aspecto-proyecto/imagen_horizontal/".$proyecto_nombre[0]->titulo_proyecto."/".$imagen_banner_nombre[0]->nombre;
$email = $request->email;
$subject = "Confirmación de registro";
Mail::to($email)->send(new EnviarEmail($usuario,$proyecto, $ruta_imagen, $logo));

Поймать mailtrap.io: https://imgur.com/j1Ypc8Q Захватить, как вы получаете его из Gmail: https://imgur.com/d7Mgk0P

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Я решил это с помощью уценки. https://laravel.com/docs/5.7/mail

@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
    AutoevaluaciónOnline
@endcomponent
@endslot
<img src="{{asset('images/aspecto-proyecto/imagen_horizontal/'.$proyecto.'/'.$nombre_banner)}}" alt="banner" width="auto">
{{--  Body  --}}
Ha finalizado con éxito el proceso de registro en el programa.


<p style="text-align: center;">{{ $proyecto }}.</p>


Acceda de nuevo utilizando el mail que nos ha indicado como usuario y la contraseña que ha asignado anteriormente.


En caso de querer restablecer la contraseña siga este enlace.


{{--  Footer  --}}
@slot('footer')
@component('mail::footer')
    © {{ date('Y')}} AutoevaluacionOnline. Todos los derechos reservados.
    <img src="{{asset($logo)}}" width="228px" height="51px">
@endcomponent
@endslot
@endcomponent
0 голосов
/ 31 октября 2019

Я думаю, что вы не прикрепляете изображение к электронному письму, вместо этого вы просто добавляете ссылку на это изображение, поэтому оно работает в вашей локальной настройке разработчика, но когда вы отправляете электронное письмо с производства, ссылка на изображение не работает (потому что изображение есть только в вашей системе).

Итак, разместите изображение на каком-нибудь общедоступном сервере и укажите полный путь, например: // http://example.com/path/to/abc.jpg в качестве URL-адреса изображения. Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...