当我在 laravel 中发送邮件时发送 Html 标签

Posted

技术标签:

【中文标题】当我在 laravel 中发送邮件时发送 Html 标签【英文标题】:Html tags are sent when i am sending mail in laravel 【发布时间】:2020-08-29 16:03:15 【问题描述】:

我正在使用微型编辑器,我想发送一封没有 html 标签的格式化电子邮件,但它发送的是 HTML 标签。我正在使用laravel。我在下面给出我的邮件是如何来的。以及如何将邮件发送给多个收件人。请帮我让它成功运行。 控制器:-

\Mail::send('emails.contact',
array(                 
'email' => $request->get('email'),                 
'sub' => $request->get('sub'),
'bodyMessage' => $request->get('message'),
), function($message) use ($request)

$message->from('harsha1604gandhi@gmail.com');
$message->to($request->get('email'));
$message->subject($request->sub);
);

查看:-

<form class="form-horizontal" action="contact" method="post">
csrf_field()
<div class="form-group">
<label class="control-label col-sm-2" for="email">To:</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="email" placeholder="Enter email" name="email" multiple>
<a id="bccemail" style="float: right;padding-left:5px;">Bcc</a>
<a id="ccemail" style="float: right;">Cc</a>        
</div>
</div>
<div class="form-group" id="divcc" style="display: none;">
<label class="control-label col-sm-2"></label>
<div class="col-sm-10">
<input type="email" class="form-control" id="emailcc" placeholder="Cc" name="emailcc">       
</div>
</div>
<div class="form-group" id="divbcc" style="display: none;">
<label class="control-label col-sm-2"></label>
<div class="col-sm-10">
<input type="email" class="form-control" id="emailbcc" placeholder="Bcc" name="emailbcc">       
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2" for="pwd">Subject:</label>
<div class="col-sm-10">          
<input type="text" class="form-control" id="sub" placeholder="Enter Subject" name="sub">
</div>
</div>
<div class="form-group">        
<div class="col-sm-offset-2 col-sm-10">
<div class="">
<textarea name="message" id="msg"></textarea>
</div>
</div>
</div>
<div class="form-group">        
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">Send</button>
</div>
</div>
</form>
</div>

<script>                    
tinymce.init(
selector: '#msg',
plugins: 'code link image media paste anchor quickbars'
);
$(document).ready(function()
$("#ccemail").click(function()
$("#divcc").toggle();
);
$("#bccemail").click(function()
$("#divbcc").toggle();
);
);
</script>
</html>

邮件:- Here my screenshot of mail

【问题讨论】:

电子邮件模板在哪里?您可能正在使用逃生刀片标签。 这能回答你的问题吗? Laravel 5 adding HTML to email 【参考方案1】:

您没有显示您的电子邮件模板视图,但我想您正在使用刀片 语句将消息输出到它。

但是,根据 Laravel Docs:

Blade 语句通过 phphtmlspecialchars 函数自动发送,以防止 XSS 攻击。

如果您不希望您的数据被转义,您可以使用以下语法:

。你好, !! $name !!。

因此,您必须将 !! ! 替换为 !! !,在其中输出包含 html 代码的消息。

【讨论】:

以上是关于当我在 laravel 中发送邮件时发送 Html 标签的主要内容,如果未能解决你的问题,请参考以下文章

在 Laravel 中使用 MailChimp 发送常规电子邮件

laravel 8 : 注册后发送邮件验证 laravel

在 Laravel 中使用 Sendmail 发送电子邮件的正确配置是啥?

Laravel 5 重置密码通知不会发送

通过 Madrill SMTP 发送 Laravel 4 电子邮件

使用 Mandrill api 更改格式发送邮件