Mail 的 raw 可以用来发送简单字符的邮件。如果邮件内容比较复杂,我们可以使用 Mail 的 send 发送 .. 它可以让我们用一个视图来组织邮件内容 ..
先复制一份之前用的这个 Mail.raw ... 这次我们用一下 Mail 的 send 方法 .. 方法的第一个参数应该是个视图 .. 设置成 email.share_post ...
第二个参数是给视图的数据 .. 添加一个 host .. 值可以是 request.hreader .. 得到 host 这个头部数据 .. 再添加一个 post ,值是 post.toJSON() .. 再添加一个 user .. 对应的值是 user.toJSON() .. 这些数据在 email.share_post 视图里都可以使用 ..
重新再排列一下 ...
send 方法的第三个参数是个回调 .. 接收一个 message 参数 .. 里面可以使用这个 message 上的方法组织一下要发送的邮件 ..
视图
下面去创建邮件需要用的视图 .. 放在 resources .. views .. email 下面,名字是 share_post.edge ... 在这个视图里我们可以设计一下要发送的邮件 .. 暂时先不考虑邮件的样式 ..
一个标题 ... 绑定一个 post 里的 title .. 下面是个包装 .. 再绑定一个 post.content .. 最后再添加一个链接 ... 地址是 https:// 后面再绑定一个 host ... 然后再加上 route .. 路由是 posts.show .. 一个 id 参数 .. 值是 post.id .. 链接文字是 View post
试验
再去试一下 ... 回到浏览器 .. 按一下文章页面上的邮件小图标 .. 再到 Mailhog 这里检查一下 ... 打开最近收到的这个邮件 ..
现在这个邮件里的内容是我们使用 email.share_post 这个视图组织好的 .. 里面有内容的标题 .. 正文 .. 还有一个内容链接 ...