相关疑难解决方法(0)

如何在使用Laravel在控制器中发送邮件之前更改邮件配置?

我正在使用Laravel 4,我想更改控制器中的邮件配置(如驱动程序/主机/端口/ ...),因为我希望在具有不同邮件配置的数据库中保存配置文件.这是使用config/mail.php配置的基本发送邮件

Mail::send(
    'emails.responsable.password_lost',
    array(),
    function($message) use ($responsable){
        $message->to($responsable->email, $responsable->getName());
        $message->subject(Lang::get('email.password_lost'));
    });
Run Code Online (Sandbox Code Playgroud)

我试图把类似的东西但它没有用

 $message->port('587');
Run Code Online (Sandbox Code Playgroud)

感谢您的支持!

吉恩

php email laravel

12
推荐指数
3
解决办法
1万
查看次数

如何在laravel中使用动态发件人发送电子邮件?

我正在 Laravel 中创建一个简单的联系我们。

我设置了.env我的 Gmail 帐户。我可以用我的电子邮件地址从 Laravel 发送电子邮件,这没问题。

但是,我想从发送消息表单的发件人地址发送电子邮件,联系我们表单。

这是我在控制器中的代码:

public function sendMessage(Request $request)
{
    $this->validate($request,[
        'email'=>'required|email',
        'subject'=>'required',
        'body'=>'required|max:150'
    ]);
    $body = $request['body'];
    Mail::send('emails.support',['body' => $body], function($message){
        $email = Input::get('email');
        $subject = Input::get('subject');
        $message->sender($email);
        $message->to('smartrahat@gmail.com','Mohammed');
        $message->subject($subject);
    });
    return redirect('contactUs');
}
Run Code Online (Sandbox Code Playgroud)

虽然,我收到电子邮件地址表格联系我们表格,电子邮件总是从我配置的电子邮件帐户中发送 .env

email laravel-5.1

1
推荐指数
1
解决办法
1万
查看次数

Laravel:是否可以延迟发送通知,但动态更改 smtp 设置?

我正在使用 Laravel v5.7 开发多租户(多个数据库),并且我成功发送了队列电子邮件。

在某些特定情况下,我想发送带有“延迟”的按需通知,类似于指南按需通知,但通知发送前应使用的 SMTP 设置。

我开发了一个可以更改 config() 值的类。

应用程序/租户/SmtpConfig.php

class SmtpConfig
{
    public static function setConnection(SmtpConta $conta = null)
    {
        // get connection default settings
        $config = config()->get("mail");

        // populate connection default settings
        foreach ($config as $key => $value) {
            if ( $key == 'host' )      { $config[$key] = $conta->mail_host ?? $config[$key]; }
            if ( $key == 'from' )      { $config[$key] = [
                'address' => ( $conta->mail_host === 'smtp.mailtrap.io' ) ? $config[$key]['address'] : $conta->mail_username,
                'name' => …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-mail laravel-notification

1
推荐指数
1
解决办法
1931
查看次数