我想向具有背景和徽标名称的用户发送电子邮件。
如何使用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']);
});
}
答案 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']]
修复你的缩进,有一些插件,如自动缩进。
修复空间。
希望您有愉快的时间发送电子邮件。 :)