发送带有ID laravel的电子邮件

时间:2017-10-13 15:41:20

标签: php laravel email

让我告诉你我的问题 我有一个用户可以回复评论的应用程序,一些帖子有一个论坛,用户可以在哪里发表自己的意见,但是,我的真正问题是,当用户发表新评论时,管理员可以收到一封电子邮件有了答案的信息,但是,在电子邮件中必须显示以下信息:用户电子邮件,论坛名称和答案的用户,当答案保存在数据库中时,保存user_id,forum_id,我需要传递电子邮件,以及论坛电子邮件中的名称,但是,当我尝试时,不显示信息;这是我的代码:

public function store(Request $request)
{

  try{
       $comment = new Comment;
       DB::beginTransaction();

           if (Auth::user()) {
             $book = $request->book_id;
              $comment->user_id = Auth::user()->id;
              $comment->forum_id = $book;
              $comment->comment = $request->comment;
              $comment->multimedia_type = $request->multimedia_type;
              $comment->comment_id = $request->comment_id;              
              }
              $comment->save();

              Mail::send('emails.forumEmail', array(
                'user_id'     => $request->get('user_id') , -> I supposse here have the information about user.
                'forum_id'    => $request->get('forum_id') , -> I supposse here have the information about forum.
                'comment'     => $request->get('comment') ,
              ),
              function ($message) use($request)
              {
// When I try pass (
$message->from($request->user_id->email);
                      $message->to('example@gmail.com')->subject('Han registrado una nueva entrada en el foro' . $request->forum_id->forum_title);
) But nothings happen, didn´t work, exactly
                  $message->from('example@mail.com');
                  $message->to('example@gmail.com')->subject('Han registrado una nueva entrada en el foro');
              });


            DB::commit();
            return back()->with('info', 'Tu comentario ha sido guardado exitosamente.');
            }
            else{
                return back()->with('errors', 'Para participar en el foro debes iniciar sesión');
            }
          } catch (\Exception $e) {
            DB::rollback();
            return back()->with(['errors' => $e->getMessage()]);
          }
        }

如果有人可以提供帮助,我将非常感激,请

2 个答案:

答案 0 :(得分:2)

尝试更改此内容:

$message->from($request->user_id->email);

进入这个:

$message->from(Auth::user()->email);

我假设用户表中有email列。

答案 1 :(得分:2)

如果$ request-> user_id是当前经过身份验证的用户的ID,

$message->from(Auth::user()->email);

如果它不是当前经过身份验证的用户的ID,并且您是通过表单传递的,

$message->from(User::findOrFail( $request->user_id )->email);