Вы можете создать правило, чтобы проверить, если формат электронной почты является действительным:
$validator = Validator::make(
Input::all(),
array('email' => 'required|email')
);
if ($validator->fails())
{
return "This is not a valid e-mail";
}
Но это будет проверять только для формата ([email protected]), потому что нет никакого способа узнать, если действительно существует адрес электронной почты.
Ну ... это не совсем так, есть способ: отправить электронное письмо на этот адрес, и если вы не получите сообщение об ошибке, адрес существует, вероятно.
Лучший способ сделать то, что вам нужно, когда пользователь создает учетную запись в вашей системе, отправить ему электронное письмо с подтверждением, на которое он/она должен щелкнуть, чтобы подтвердить этот адрес. Если учетная запись не подтверждена за x дней, вы ее удалите. Это вопрос, который может вам помочь в этом: Laravel 4: how to make confirmation email?.
О вашем последнем вопросе: создайте Artisan Command, который проверяет наличие неутвержденных счетов и удаляет их. Взгляните на документы, это легко, Laravel делает почти всю работу за вас. И вы можете запустить эту команду один раз в день, используя хрон или менеджер задач:
php /var/www/your-site-dir/artisan check:accounts
EDIT:
Этот вопрос покажет вам, как создать команду: Creating and using Laravel 4 commands
И в методе fire() вы должны сделать что-то вроде:
public function fire()
{
$dt = Carbon\Carbon::now();
User::where('activated', false)
->where('created_at', '<', $dt->subDays(10))
->delete();
}
В дополнение к ответам, вы также можете проверить мою работу на том же самом. Я не беспокоюсь о несуществующих электронных письмах, но большинство других проверок есть.Я также отслеживаю и храню IP-адреса/браузер/платформу и т. Д.: Https://github.com/kJamesy/Laravel4-Newsletter-Application – kJamesy
Спасибо! Я не понимаю, что это значит: Скопируйте файл composer.json с шага 3 и перезапишите это в шаге 1 с ним. – johnnyfittizio