В настоящее время я использую cPanel на своей стороне сервера, и я перепробовал все онлайн-учебники, которые показывают, как передавать все ваши электронные письма в проект Laravel, я нашел один учебник, который работает на Laravel 4, но, к сожалению, он не работает для меня на Laravel 5.0:
http://www.sitepoint.com/piping-emails-laravel-application/
Я настроил свой cPanel «адрес по умолчанию» для файла обработчика php, но так как я работаю с Laravel, я не могу заставить этот файл работать с классами приложения и делать вещи для моих клиентов (например, отправлять уведомления, сохранять электронную почту). информация в базе данных и т.д …)
пожалуйста, дайте мне знать, если есть хороший чистый способ сделать это.
Кстати, мне нужно, чтобы все письма в этом домене направлялись в мой обработчик php не только с одного адреса, потому что каждый из моих клиентов получил свой собственный адрес электронной почты
Я закончил тем, что создал бесплатную учетную запись на mandrill, и они отправляют все мои входящие электронные письма на один из моих маршрутов … затем я создал контроллер для обработки входящих электронных писем с mandrill, и я могу делать там все, что мне нужно … Это лучший способ сделать это … Я получаю и обрабатываю электронные письма менее чем за 2 секунды. Это восхитительно.
Я добавил MX-записи mandrill в свой поддомен и теперь дал всем своим клиентам адрес электронной почты с этим поддоменом: «[email protected]»
Это мой маршрут:
Route::post('inbound/message', 'MailController@inboundMessages');
и это мой пример контроллера:
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Carbon\Carbon;
class MailController extends Controller
{
/**
* main function to receive incoming email from mandrill POST request
* @param JSON $request Mandrill Object in JSON format
* @return string
*/
public function inboundMessages(Request $request){
if(isset($request['mandrill_events'])){
$messageJson = json_decode($request['mandrill_events']);
$message = $messageJson[0]->msg;
$email = [
"to" => $message->email,
"from" => $message->from_email,
"name" => isset($message->from_name) ? $message->from_name : "No Name",
"subject" => isset($message->subject) ? $message->subject : "No Subject",
"content" => isset($message->text) ? $message->text : "",
"content_html" => isset($message->html) ? $message->html : ""];
//do whatever you want with your $email
}
}
}
надеюсь, это поможет 🙂 Удачи
Других решений пока нет …