【发布时间】:2017-04-17 16:18:38
【问题描述】:
我刚刚在 Laravel 中创建了一个时事通讯,人们可以在其中使用他们的电子邮件地址进行注册,然后有人可以向已注册的人发送邮件。 然后我将这些注册信息连同简报发件人的相关 ID 一起保存在一个表格中(在我的情况下,它是卖家,而买家注册简报)....
这是我使用的代码,所以发送一个时事通讯:
public function sendNewsletter(Request $request){
$newsletterText = $request->newsletterText;
$seller = Auth::user();
$sellerID = $seller->id;
$newsletterMailAdresses = Newsletter::where('seller_id', $sellerID)->pluck('mailAdress');
Mail::bcc($newsletterMailAdresses)->send(new newsletterMail($newsletterText));
return "<p style='color:green;'>Newsletter erfolgreich versandt</p>";
}
它通过 AJAX 请求调用,但不应更改任何内容...
我现在需要的是让用户也可以通过邮件中的链接取消订阅时事通讯。
这是对应的邮件类:
<?php
namespace App\Mail;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class newsletterMail extends Mailable
{
use Queueable, SerializesModels;
/**
* Create a new message instance.
*
* @return void
*/
public $newsletterText;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($newsletterText)
{
$this->newsletterText = $newsletterText;
}
/**
* Build the message.
*
* @return $this
*/
public function build()
{
$subject = "Newsletter ShoppingPortal";
return $this->view('emails.newsLetter')->subject($subject);
}
}
这就是邮件视图:
Newsletter vom Shoppingportal: <br/><br/>
<div>
{!!$newsletterText!!}
</div>
<br/>
To unsubscribe from Newsletter, use this link: localhost/unsubscribe/....
这是缺少的东西,我需要创建一个取消订阅的链接,因此我需要视图中的 SellerID(有什么可能,可以像 newsletterText 一样传递它,但是我如何传递或获取电子邮件发送到的当前邮件地址?由于这封邮件会发送到一些收件人,它在视图的每个实例中都不同...我该怎么做,那么我怎样才能在视图中获取邮件地址?
【问题讨论】:
-
为什么不使用时事通讯服务(如 mailchimp)并使用 API 进行集成?大多数网络服务器并不打算发送群发邮件,它甚至可能被标记为垃圾邮件。
-
使用registrationId代替发送senderID,使用该ID您将能够获取订阅者和发送者的详细信息
-
@HalfCrazed 到目前为止是一个小项目,我不知道它会发展到什么程度,这没关系...
-
@phobia82 我怎么能把这个 id 传入?还是同样的问题,在看来,我不知道它发给了哪个recipent...
标签: php laravel email laravel-5.3 swiftmailer