邮件

配置

Laravel的邮件功能构建于流行的SwiftMailer库之上,并提供了简介、高效的API。邮件配置信息在app/config/mail.php文件中,并提供了包含SMTP主机、端口和证书的配置选项,也可以为发送的邮件配置一个全局from(来自)地址。你可以使用任何的SMTP服务器。如果你希望使用PHP的mail函数来发送邮件,可以通过改变配置文件中的 driver为mail。另外还支持sendmail 。

基本用例

使用Mail::send 方法来发送一封邮件:Mail::send('emails.welcome', $data, function($message)

{

$message->to('foo@example.com', 'John Smith')->subject('Welcome!');

});

传入send方法的第一个参数为生成邮件体所用的视图名。第二个参数$data是要传入视图的数据,第三个参数为闭包,允许你为邮件配置各种选项。注意: $message变量总是会传递到邮件视图中,它允许你给该邮件内容添加内联附件。因此应该避免向视图中传递命名为message的变量。

注解: 内联附件(Inline Attachment):“内联附件”是指可以在邮件体中直接看到的附件,一般是文本或图片;“内联附件”与一般附件的区别在于:一般附件必须在点击之后才能查看。详细信息可以看内联附件与一般附件的区别。

除了HTML视图,你还可以指定一个纯文本视图:Mail::send(array('html.view', 'text.view'), $data, $callback);

或者,你可以通过html或text关键字指定唯一一个视图类型:Mail::send(array('text' => 'view'), $data, $callback);

你还可以为邮件指定其他选项,例如邮件抄送者或者附件:Mail::send('emails.welcome', $data, function($m)

{

$m->from('us@example.com', 'Laravel');

$m->to('foo@example.com')->cc('bar@example.com');

$m->attach($pathToFile);

});

当你为邮件添加附件时,可以指定MIME类型和/或展示名:$m->attach($pathToFile, array('as' => $display, 'mime' => $mime));注意: 传递给Mail::send闭包的消息对象实例继承自SwiftMailer类,因此,你可以调用任何该类的方法来构建邮件内容。

嵌入内联附件

邮件中嵌入图片通常都很麻烦;幸好Laravel提供了很简便的方法来为你的邮件添加图片,并取得相应的CID。

在邮件视图中嵌入内联图像

Here is an image:

<?php%20echo%20%24message->embed(%24pathToFile);%20?>

在邮件视图中嵌入原始数据

Here is an image from raw data:

<?php%20echo%20%24message->embedData(%24data,%20%24name);%20?>

注意$message变量总会通过Mail类传递给邮件视图。

队列邮件

由于发送邮件有可能会使应用程序需要花费较长的响应时间,许多开发者选择将邮件放入队列并在后台发送。Laravel内建了统一队列 API来简化此功能。只需调用Mail类的queue方法就可以将邮件放入队列中:

将一封邮件放入队列中Mail::queue('emails.welcome', $data, function($m)

{

$m->to('foo@example.com', 'John Smith')->subject('Welcome!');

});

你还可以使用later方法指定延迟多少秒再发送邮件:Mail::later(5, 'emails.welcome', $data, function($m)

{

$m->to('foo@example.com', 'John Smith')->subject('Welcome!');

});

如果你想将邮件放到一个指定的队列或"管道" ,可以使用queueOn和laterOn方法:Mail::queueOn('queue-name', 'emails.welcome', $data, function($m)

{

$m->to('foo@example.com', 'John Smith')->subject('Welcome!');

});

邮件 & 本地开发环境

当你开发需要发送邮件的应用时,在你本地或开发环境中通常需要禁用邮件发送功能。你可以通过调用Mail::pretend 方法或在 app/config/mail.php 配置文件中设置 pretend 选项为 true 达到这一目的。当邮件发送功能被置为 pretend 模式时,所有邮件都会被写入当前应用的log文件中,而不会发送给收件人。

启用Pretend模式Mail::pretend();

php mail laravel,邮件 - Laravel - 为 WEB 艺术家创造的 PHP 框架。相关推荐

  1. laravel 邮件SwiftMailer

    邮件SwiftMailer Laravel的邮件功能基于热门的SwiftMailer函数库之上,提供了一个简洁的API Laravel 为SMTP,Mailgun,Mandrill,AmazonSes ...

  2. Laravel 邮件发送

    Laravel的邮件功能基于热门的SwiftMailer函数库之上,提供了一个简洁的api Laravel为SMTP,Mailgun,Mandrill,Amazon SES,PHP的mail函数,以及 ...

  3. php框架laravel下载,laravel 5.4

    laravel 5.4是一套PHP Web开发框架,能够让我们的用户从一堆杂乱的代码中解脱出来,通过一种简洁.优雅的形式进行PHP Web的开发,该框架能够让用户的每行代码都能够既简洁又富于表达力. ...

  4. java mail 收发邮件

    java mail 收发邮件 1.发件 2.收件 1.发件 package base.util; /* Some SMTP servers require a username and passwor ...

  5. 如何配置SQL AgentMail与SQL Mail收发邮件

      如何配置SQL AgentMail与SQL Mail收发邮件 SQL AgentMail是负责在警告被触发时或是在预定作业成功或失败时发送通告的电子邮件服务:SQL Mail 是用来处理数据库应用 ...

  6. 使用SquirrelMail配置Webmail系统,并实现通Macallan Mail Solution邮件服务器的连接

    昨天已经完成了windows下的Macallan Mail Solution邮件服务器配置,已经能够通过Outlook正常使用邮件服务.今天的目的主要是搭建一个windows下的Webmail环境,方 ...

  7. Java mail接收邮件 回复邮件 转发邮件

    下面的代码在很多别的博客上都有,我只是copy过来学习了下,并且做了少许的修改,但大多数用的都是POP3协议去接收邮件,如果你实际验证过就应该会发现至少从昨天开始是不能获取邮件的内容的,所以需要用IM ...

  8. web开发技术栈(框架)总结

    原文 web开发技术栈(框架)总结 Bootstrap-Layui-Amazeui-jQuery-vue-react-AngularJS-ci-Thinkphp-Yii-Laravel-Node-Dj ...

  9. [收集] Web服务相关的, 介绍框架(framework)类的论文

    收集了部分Web服务相关的, 介绍框架(framework)类的论文 <RECORD 1> WSCF: A framework for web service-based applicat ...

最新文章

  1. 软件开发 自由职业_自由职业? 这里有7个可以出售软件开发服务的地方
  2. Enable PowerShell script execution policy
  3. shop++商品搜索出现乱码的解决方法
  4. fix--向零方向取整
  5. 【最简代码】1076 Wifi密码 (15分)_8行代码AC
  6. Android开发之设置listview分割线的颜色
  7. 重度使用Flutter研发模式下的页面性能优化实践
  8. 【数据库题型大总结】名词解释总结
  9. Matlab中的continue、break和return语句
  10. 更适合Pythoner的标记语言Yaml学习总结
  11. Web应用开发平台 OpenJWeb
  12. iphone小圆点在哪儿设置_iPhone终于自带长截屏了?苹果手机这些截图方式,你用过几种?...
  13. 论文笔记_S2D.72_RGB图像和不确定性引导的稀疏噪声激光雷达深度补全
  14. Retrofit结合RxJava使用指南
  15. winform倒计时
  16. onlyoffice添加中文字体及字号
  17. 怎样访问ftp服务器的文件,访问ftp服务器文件夹
  18. 行路难PPT计算机考试,《行路难》公开课.ppt
  19. 【数据库】理解一对一、一对多、多对多关系
  20. antd表单按钮验证置灰

热门文章

  1. 图像处理 --- 一、认识图像处理
  2. scikit-learn流形学习手写数字可视化
  3. JAVA发送邮件工具包_java mail 发送邮件工具包
  4. FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅
  5. 现代软件工程讲义 12 绩效管理
  6. python 二分法调试代码,Python实现二分法
  7. python 文本相似度_python实现余弦相似度文本比较
  8. JAVA入门级教学之(abstract抽象类)
  9. JAVA入门级教学之(封装)
  10. Java构造函数可以私有,我们可以在Java中使用私有的构造函数吗?