2016-12-02 78 views
0

我刚刚在Laravel创建了一个简报,人们可以通过他们的电子邮件地址注册,然后有人可以发送邮件给注册的人。 然后,我将这些注册信息保存在一个表格中,以及通讯发件人的相关身份证件(在我的情况下是其卖家,并且买家注册了新闻通讯)...Laravel将数据通过邮件传递给不同的配方

这是我使用的代码然后使发送简报:

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那样传递它,但是我怎样才能传入或获取邮件发送给当前的邮件地址?因为这封邮件发送给一些配方,它的每个不同视图的实例...我怎么能做到这一点,所以我怎么才能做到这一点在视图中的邮件地址?

+0

为什么不使用通讯服务,如mailchimp,并使用API​​进行集成?大多数网络服务器并不意味着发送大量邮件,甚至可能被标记为垃圾邮件。 –

+0

而不是发送senderID使用registrationId,与该ID您将能够获得订户和发件人的细节以及 – phobia82

+0

@HalfCrazed作为其迄今为止的一个小项目,我不知道它会增长多远这是好的... – nameless

回答

0

我得到了它,

只是改变了邮件的发送这样:

foreach($newsletterMailAdresses as $mailAdress){ 
      Mail::to($mailAdress)->send(new NewsletterMail($newsletterText, $mailAdress, $sellerID)); 
     } 

现在我当前的邮件ADRESS同时发送。