2016-12-02 8 views
0

Laravel에서 뉴스 레터를 만들었습니다. 사람들이 자신의 이메일 주소로 등록한 다음 누군가가 등록 된 사람들에게 메일을 보낼 수 있습니다. 그런 다음 뉴스 레터를 보낸 사람의 관련 ID (내 경우에는 판매자, 구매자는 뉴스 레터 등록)와 함께 해당 등록을 테이블에 저장합니다.Laravel이 다른 수취인을 위해 메일로 데이터를 전달합니다

이것은 사용하는 코드입니다 다음 그래서 뉴스 레터를 보내 Ajax 요청으로 호출

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>"; 
    } 

그것의, 그러나 ... 아무것도 변경하지 마십시오

내가 지금 필요한 것은 사용자에게 뉴스 레터 등의 구독을 취소 할 수있는 가능성을 제공하는 것입니다 잘, 우편물의 링크를 경유하여.

이 해당 메일 클래스입니다 :

<?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와 같이 전달할 수 있지만, 어떻게하면 전자 메일이 보내지는 현재의 메일 주소를 전달하거나받을 수 있습니까?이 메일은 일부 수신자에게 전달되기 때문에 각 수신자마다 다릅니다 보기의 인스턴스 ... 어떻게이 작업을 수행 할 수 있습니까? 보기에서 메일 주소? 전송하는 동안

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

은 지금 현재 메일 ADRESS 있습니다

+0

mailchimp와 같은 뉴스 레터 서비스를 사용하고 API를 사용하여 통합해야하는 이유는 무엇입니까? 대부분의 웹 서버는 대량 메일 발송자를 의미하지 않으며 스팸으로 신고 될 수도 있습니다. –

+0

senderID를 보내는 대신 registrationId를 사용하여 해당 ID로 구독자와 발신자의 세부 정보를 얻을 수 있습니다. – phobia82

+0

@HalfCrazed는 지금까지 작은 프로젝트로, 얼마나 성장할 지 모르겠습니다. 이건 괜찮아요 ... – nameless

답변

0

내가 그것을 가지고는

그냥이에 메일을 보내는 변경되었습니다.