将电子邮件存储在数据库中

时间:2016-07-04 15:41:55

标签: php laravel email

我目前正在使用PHP语言构建支持票据平台。 (确切地说是Laravel框架)

我希望客户可以通过电子邮件发送到某个电子邮件地址,并将电子邮件作为票证本身存储在我们的数据库中。 (或至少使用postdata调用网址或其他内容)

我如何将电子邮件转发到PHP网址/脚本或其他东西,有人能让我走上正轨吗?

2 个答案:

答案 0 :(得分:0)

您可以使用ImapMailbox PHP库连接到电子邮件收件箱,获取邮件内容,将数据存储在数据库中,然后从收件箱中删除电子邮件。

或者,您可以使用Postmark之类的外部服务来接收入站邮件,并向您的服务器发送一个webhook,以便在PHP中进行处理。

希望这有帮助。

答案 1 :(得分:-1)

您可以向服务器发送信息,并在发送之前将消息保存到数据库。您不需要将其发回服务器,这里有一些抽象代码:

public function store(Request $request)
{
    $message = $request->get('message');
    $to   = $request->get('to');
    $user = Auth::user();
    Ticket::create(['message' => $message, 'to' => $to->id, 'by' => $user->id]);
    Mail::send('emails.ticket', $message, function($m) use ($to,$user){
        $m->from('app@example.com', 'Your Application');

        $m->to($to->email, $to->name)->subject('Email from user '. $user->name);
    });
}