00:00
和学习一下邮件发送。主要掌握的内容有相关的配置,还有邮件的视图以及如何发送邮件。手册地址在这里。看一下简介,基于啊这个热门的一个函数库,提供了简洁干净的一个API,可以为这些啊邮件类型提供驱动。嗯,Love email服务通过email配置文件进行配置。我们的配置文件是在这个con里面啊。在这里。Con。没有,在这里面,这里有我们默认使用的一个驱动,它默认使用的SMTP啊,我们做例子也会去使用这个,如果你需要其他的一个驱动,可以去下面去。查找相关驱动的一些配置。相关驱动的配置呢?在。这个配置文件的下面,可以看到这所有的一个驱动的一个配置,我们使用SMTP的,如果你要用到其他的就去这下面去改配置就可以了啊,然后下面有两个变量,一个全局的,就是邮件的一个地址,还有一个发送者的一个。
01:08
啊,名字。啊,这些在EV里面都是可以去配置的,看一看我们要使用M4MTP的话,需要去EV里面去配置这些内容,对吧。打开我们的音位。找到邮件这一块啊,这些邮件的内容都需要我们去配置一下。邮件之前,我们先把这个邮件的啊,这个基础的配置给配置好,这里我们使用SMTP驱动,所以我们要去到我们的邮箱啊服务商里面,就是邮箱的管理里面去开启这个服务,然后去拿到相关的这些配置去进行使用。啊,这里我们使用的是163的一个邮箱。不同的邮箱,比如说QQ邮箱啊,他们的这个设置大致都差不多啊,都是去你的这个设置里面找到啊,相关的这个SMTP这块的设置就可以了。啊,这里我们把这个。
02:01
SMTP啊,给开启开启第一个。需要我去啊,发送这个验证码。这里我已经发送完成。好,授权码它只会显示一次啊,这里一定要记住。一定要记住,数电码只显示一次。然后就不会再显示了,这个把我们的授权码配置在这里,也就是密码这里啊,在使用这个SMTP服务的时候,不是让你输入你账号密码,而是会使用这种授权码的方式,接着是我们的。啊,这个邮箱的账号。使用这个邮箱。啊,发送的端口号,这里我们使用。465。
03:03
还有邮箱的SMTP的地址。把这个地址给换掉。账号密码加密要使用。SSL。啊,这个加密量配,要不然的话你邮箱可能发送失败。然后这个是来自于哪个邮件,就用我们的这个就可以了。然后我们的发送者的一个姓名。好,这样我们的邮箱的配置就完成了。接下来看一下手册如何发送邮件。我们在这个LA中啊,应用发送的每种邮件都被称为一个。这个类,这些类存储在APP的这个mail目录下,如果我们应用中没有这个目录,当我们去创建这个类的时候,会创建这个目录。啊,也就是说我们每种的一个邮件的发送,都应该把它定为独立的一类,比如说啊,关于。用户注册的一个通知的一个邮件的一类,然后是关于这个订单支付成功的啊,这样的邮件通知的一类,就是为每个每一种邮箱发送去定义相应的一些类,而不是说把所有的这个邮箱发送都用同一个方式啊,同一个类去使用。
04:15
啊,尽可能的我们拆分的细一些。使用这个命令就可以帮我们创建一个邮箱的一个类啊。我使用这个命令。创建一个啊,订单的一个通知的一个类。这个会在。APP目录下啊,生成一个email目录,并且给我们创建这样的一个邮件的一类。好,已经创建完成,多了一个这个文件里面多了一个这个邮箱发送的。接着我们去编写啊这个。类的一个内容。这个类呢,我们先看看这个文件啊。比较简单对吧。有一个构造函数和一个build,实际上我们执行邮件发送的时候,执行的就是build里面的代码啊,就是这里面。
05:05
这里呢,当然没有什么内容,只是返回了一个邮箱的一个视图,也就是会发送啊这个视图的。啊,一个邮件。在这个里面呢,我们还可以指定就是说啊,由谁发送的,当然我们如果不指定的话呢,会默认去使用我们,因为里面配置的这个就是。From。On address。这个我们就不配置了啊,我们用默默认的就可以。对,如果就是不配置的话,可以使用全局的from。然后是邮件的这个视图。在这个build的方法里面啊,我们可以使用view方法去渲染一个邮件的一个视图,就是邮件的一个模板。由于每封邮件啊通常使用类的模板来渲染其内容,因此我们可以在构建这个邮件的A内容时使用。
06:03
Play的模板引擎提供的所有的功能。和它带来的一个便利性。所以说啊,我们可以在这个resource这个目录下去建立一个emails这个目录,然后用来存放我们所有的邮件模板,啊,当然可以放在这个下面的任何一个位置。我们还是按照这个比较推荐的去创建。在resource目录下。Will目录下去建一个emails目录,新建一个目录。Email。这个目录将用来存放我们所有邮件的一个模板。好,这里我们新建一个。Bla的模板。啊。这个里面就可以写我们啊订单通知的一个。邮件的一个内容啊,邮件的一个视图。接下来纯文本的文件。
07:00
可以使用这个text方法去啊,显示一个纯文本格式的一个邮件。就是它啊,它和这个啊,我方法一样,T呢,它也是接受一个模板的名字。模板名指定了在渲染邮件时,就是我们想要使用的一个模板。既可以定义纯文本消息,也可以定义这个消息。这个用的还是不是特别多啊。我们一般直接是去渲染一个我们布雷的模板下面的一个模板视图就可以了。然后是关于视图里面使用的数据,也就是我们这个视图里面使用的这个数据。可以通过啊,这个构造函数就是在我们其他地方发送邮件,调用这个邮箱内的时候。可以就是说通过构造函数传过来,然后通过这个公有的一个方法。啊,在我们这个里面。就是如果是被设置为公有的属性,在我们的邮件的这个视图里面是可以直接去使用的,也就是如果我们啊在这个邮箱发送。
08:09
邮件发送的类里面去定义的一个公有的一个属性,在这个模板里面可以去直接去使用的。好吧,如果是我们定义了一个。啊,这个受保护的啊,或者私有的一些属性是可以通过啊这个链式操作,使用位置方法去传数据的。当然。传过来这个数据到视图之后,视图里面就可以直接去使用啊,这个我们传过来的数据。有一种方法他没有说是啊,可以类似于我们在控制器中去返回页面一样,就是把这个数据啊,作为这个value的第二个啊参数进行传到这个视图里面。然后还可以使用什么呢?使用这个啊,这个方法去添加邮箱的一个附件。接着往下看啊,包括从磁盘去添加附件。
09:01
原始数据的一个附件。都可以啊,包括内联的一个附件。好,这些我们就先。啊,跳过啊,包括马克当格式的大家用到的时候去看一下可以了,我们就用普通的啊不利的模板去写我们的邮件的一个内容。也可以用的一些组件,包括你可以自定义这一个组件,自定义这个3S。接下来我们看一下如何发送邮件。如果要发送邮件啊,使用迈尔门面提供的突方法,突方法呢,接受邮件的地址。啊,或者是用户的一个实力,或者用户的一个集合都可以也可以,甚至是啊,接受一个邮箱的一个速度都可以啊。来,我们在test control里面去尝试去发送一下邮件。
10:03
发送邮件只需要使用啊。Ma门面啊,Factory提供的two方法。Two里面是可以是一个用户的模型,也可以是啊,具体的一个邮件的地址,还可以是一个数组,包含多个邮件的一个地址。好,这里我们写一个邮件啊,然后使用它的send的方法,就是要使用哪个邮件发送类去进行发送。这里我们使用定义的这个order,这个发送邮件的类。啊,要进行拗。那这个邮箱我们给哪个邮箱发送呢。给这个。啊,这个测试的邮箱进行发送。啊,这个是我们的。配置的就是作为发送的一个服务的邮箱是吧。那我们再换一个邮箱使用。这个啊,这个。A1这个A2的话是我们作为啊这个服务了,为了给大家区分开,我们换一个邮箱。
11:06
那就是用A。Ae。好,我们给这个用户给这个邮箱去发送邮件。接下来。去。执行一下看一下啊。Test请求,Test。这个视图没有找到,就是啊,这个有像那里面的这个视图没有。我们应该用我们自己定义的这个视图,对吧,我们自己定义的是。在这个email里面。啊,这个视图,但是我们现在没有写内容,写一个H3。你有新的订单。
12:03
那这个里面改成。我们的。Emails目录下面的。Order。View view的话,它就指向了这个views目录,所以我们直接从这个views的目录下面开始去写就可以目录啊,直接用这个点。去往下层去找,再来试一下。啊,发送邮件比较慢。看看这里能不能收到这个邮件来SH。刷新一下啊。小心看看。哎,是不是这是我们啊,发送者的一个名称,就是我们燕微里面配置那个。然后这是我们的一个内容,这样的话邮件就发送过来了,可以看到发送人,是啊,这个博客就是我们配的这个AR,而我们的收件人呢,就是刚才。
13:00
我图里面指定的这个收件人,这样一个简单的邮件就发送过来了。那么。如果我们想要啊,就是给这个邮件发送类去传一些参数,怎么办呢。可以在这个构造函数里面啊,我们在这里是用了一个这个类对吧,当然可以给它传参数。啊,这里我们传一个。哈喽。给构造函数传参数呢,在这个里面。勾到函数里面就可以。接收到啊,当然这是一个类嘛,我们用定一个。属性,如果你用公开的属性的话,可以直接在设置里面去使用这个变量,如果你定义的是这个啊,受保护的一个属性,比如说TR。那你就要。曲。在这里面去把它给传,传到这个视图中才行啊。
14:01
ST好,这时候怎么把这个。啊,是这个数据传给视图呢,可以使用with方法,这个时候相当有数啊。使用这个位方法。啊,前面前面有说啊,省位的方法,当然还可以使用。可以,方法还可以,可以直接把它作为这个函数第二个参数。使用哪一种都行,给我传个str过去,Do this。里面的str。啊,这时候在视图中就可以使用这个变量了。接下来我们重新去发送一下邮件。啊,然后去收件箱里面去看一下。
15:00
刷新下。是不是有有,然后我们的变量是不是也过来了。对吧。当然这个我们的邮箱的这个视图啊,它是支持这个和CS的,所以说你可以把你的这个邮件写的比较美观一些,当然我们为了节省时间,就简单的写一些标签。注,要注意一点是你如果使用了CS,要在这个文件里面去写C,不要使用这个link,因为啊,这个模板是谁加载的,是我们这个类去加载的类的话,它。就是不能通过这个link去找到你这个set这个位置啊,Link的话是我们浏览器里面,它能根据你的link标签去加载这个C这个地址,这里要注意啊,你要写set的话,写到这个啊邮箱的这个视图里面。邮件发送。已经。完成了啊,就是比较简单的。可以给指定的一个啊邮箱去发送内容。这个是我们邮件发送的类,然后我们的逻辑是在这个邮件发送的这个类里面去处理,诶处理好的数据呢,你可以去发送给用户,如果需要啊,传数据给这个邮件发送的类,你就可以使用。
16:12
这个构造函数去传过来就可以。
我来说两句