如何在laravel中添加电子邮件背景?

时间:2018-01-27 07:07:16

标签: php laravel

我想向具有背景和徽标名称的用户发送电子邮件。

如何使用PHP执行此操作?这是我到目前为止的代码。

public function sendEmail($thisUser)
    {
        $general = GeneralSetting::first();

        $hh  = ['s_title'=>$general->title,'s_footer'=>$general->footer_bottom_text];

        $mail_val = [
              'email' => $thisUser['email'],
                'name' => $thisUser['name'],
                'g_email' => $general->email,
                'g_title' => $general->title,
                'subject' => 'Verify Account',
            ];
            Config::set('mail.driver','mail');
            Config::set('mail.from',$general->email);
            Config::set('mail.name',$general->title);
            Mail::send('auth.verify-email', ['email' =>$thisUser['email'] ,'verifyToken'=>$thisUser['verifyToken'],'site_title'=>$hh['s_title'],'site_footer'=>$hh['s_footer']], function ($m) use ($mail_val) {
                $m->from($mail_val['g_email'], $mail_val['g_title']);
                $m->to($mail_val['email'], $mail_val['name'])->subject($mail_val['subject']);
            });

    }

3 个答案:

答案 0 :(得分:1)

您可以在视图中使用变量$message->embed('PATH')在电子邮件中添加图片。

$message->embed('path/to/image/');

答案 1 :(得分:0)

您可以使用模板并添加html和css

Mail::send(
                'emails.password_reset',
                $data,                    
                function($message) use ($data) {
                    $message->to(
                        $data['email'], 
                        $data['full_name'])->subject('Password Reset Instructions.');
                }
            );

并在视图中创建电子邮件/ password_reset

<!DOCTYPE html>
<html>
<head>
</head>

<body style="font-family: Arial; font-size: 12px;">
<div>
    your email body
</div>

答案 2 :(得分:0)

实际上,Laravel 5.5已经有一个易于邮寄系统的刀片模板。你可以在这里阅读(https://laravel.com/docs/5.5/mail)。通过视图和/或降价,您可以通过多种方式进行操作。但回过头来,就像你正在使用的Mail::send()一样。您正在传递视图auth.verify-email,您可以在其中编辑视图文件,只需添加内联样式background-color: #222222即可。您可以到这里(https://www.campaignmonitor.com/css/)查看电子邮件提供商可以接受的样式。

您还可以使用https协议将您的图片放在云中,这样您的徽标和图片就不会影响Gmail等电子邮件提供商的安全措施。

如果您的图片不在互联网上,您可以考虑将您的徽标添加到电子邮件附件中。

您可能会重新考虑一些指示:

  • 您可能想为长数组创建另一个变量

    ['email' =>$thisUser['email'] ,'verifyToken'=>$thisUser['verifyToken'],'site_title'=>$hh['s_title'],'site_footer'=>$hh['s_footer']]

  • 修复你的缩进,有一些插件,如自动缩进。

  • 修复空间。

希望您有愉快的时间发送电子邮件。 :)