代码之家  ›  专栏  ›  技术社区  ›  Blues Clues

在Laravel 5.1中修改

  •  0
  • Blues Clues  · 技术社区  · 5 年前

    如果我想根据表单的相关性使用不同的电子邮件地址怎么办?

    例如,我想使用 donotreply@domain.com 我的联系方式。那么我想用 myemail@domain.com 我的登记表。我如何实现这一点?

    我已经尝试使用 from 方法,但不起作用。请看下面我的代码。

    Mail::later(10,
        [],
        compact('inputs'),
        function($m) use ($email, $inputs){
            $m->from('myemail@domain.com', 'Name');
            $m->to($email)->subject($inputs['subject']);
        }
    );
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   Prafulla Kumar Sahu umang naik    5 年前

    在你的代码里我想

    compact('inputs') 将创建一个带有键“inputs”的数组,最好使用 $inputs 而不是 紧凑型(“输入”)。 犹如

    $input = [
        'subject' => 'some subject'
    ]
    

    使用紧凑型

    $xyz = compact('inputs') will make it
    
    [
        'inputs' => [
            'subjuect' => 'some subject'
        ]
    ]
    

    拉拉维尔5.8

    在每个邮件类型的mailable类中,您可以在如下的生成方法中设置不同的发件人

    class UserRegistered extends Mailable
    {
        public function build()
        {
            return $this->from('myemail@domain.com')
                    ->view('emails.users.registered');
        }
    }
    

    class CntactForSubmitted extends Mailable
    {
        public function build()
        {
            return $this->from('donotreply@domain.com')
                    ->view('emails.contact-form.submitted');
        }
    }
    

    参考 docs