Я пытаюсь отправить почту для контактной формы локально swiftmailer и gmail. Я проверил каждую строку, и я знаю, что проблема «setFrom».Набор SwiftMailerFrom не работает с переменной
$app->post('/contact', function ($request, $response, $args){
$body = $this->request->getParsedBody();
$name = $body['name'];
$email = $body['email'];
$msg = $body['msg'];
if(!empty($name) && !empty($email) && !empty($msg)){
$cleanName = filter_var($name,FILTER_SANITIZE_STRING);
$cleanEmail = filter_var($name,FILTER_SANITIZE_EMAIL);
$cleanMsg = filter_var($name,FILTER_SANITIZE_STRING);
}else {
//redirecting to contact page
}
//sending email
$transporter = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, 'ssl')
->setUsername('[email protected]')
->setPassword('xxx');
$mailer= \Swift_Mailer::newInstance($transporter);
$message = \Swift_Message::newInstance();
$message->setSubject('Email from our website');
$message->setTo(array('[email protected]'));
$message->setBody($cleanMsg);
$message->setFrom([
$cleanEmail => $cleanName
]);
$result=$mailer->send($message);
if ($result > 0) {
$path = $this->get('router')->pathFor('home');
return $response->withRedirect($path);
} else {
$path = $this->get('router')->pathFor('contact');
return $response->withRedirect($path);
}
});
Как вы можете видеть, я также использую Slim 3 framework. когда я запускаю код, я получаю эту ошибку:
Slim Application Error A website error has occurred. Sorry for the temporary inconvenience.
Но если я заменю $cleanEmail
с '[email protected]'
код работает! Что мне делать? Я знаю, что с помощью gmail я не могу изменить имя отправителя, но хочу загрузить этот код в веб-хостинге, и я не хочу, чтобы эта проблема возникала.
И может ли кто-нибудь предложить лучший способ перенаправления в Slim 3? Вместо этих двух линий:
$path = $this->get('router')->pathFor('contact');
return $response->withRedirect($path);
Я установил имена для своих маршрутов, как это:
$app->get('/contact', function ($req, $res, $args) {
return $this->view->render($res, "contact.twig");
})->setName('contact');
спасибо большое!
Ничего себе! Большое спасибо! вы спасли меня! Я не заметил эту ошибку, и я блуждал ... – Niloofar