2016-12-02 4 views
0

Laravelでニュースレターを作成しました。そこでは、人々が自分のメールアドレスに登録して、誰かが登録されている人にメールを送ることができます。 次に、ニュースレターの送信者の関連ID(私の場合、売り手とバイヤーがニュースレターに登録する)と一緒に、これらの登録をテーブルに保存します。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/.... 

そしてここでは、不足していることだ、私はので、私は必要になり、退会するためのリンクを作成する必要があります可能であれば、newsletterTextのようにそれを渡すことができますが、私は現在のメールアドレスを渡すか、現在のメールアドレスを取得することができますか?このメールはいくつかの受信者に送られ、ビューのインスタンス...どのように私はこれを行うことができます、どのように私はビューのメールアドレス?

+0

mailchimpのようなニュースレターサービスを使用せず、APIを使用して統合してみませんか?ほとんどのWebサーバーは大量のメーラーを送信するためのものではなく、迷惑メールとして指定されることさえあります。 –

+0

senderIDを送信するのではなく、そのIDを使用してsubscriberIと送信者の詳細を取得することができます – phobia82

+0

@HalfCrazedはこれまでのところ小さなプロジェクトであり、どのくらい成長するかわかりませんこれは大丈夫です... – nameless

答えて

0

私はそれを得た、

はちょうどこのへのメールの送信を変更:送信中

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

は今、私は現在のメールアドレスを持っています。

関連する問題