2015-08-31 1 views
3

Я пытаюсь подтвердить учетные данные с SwiftMailer в Laravel. Мне нужно проверить учетные данные для входа на SMTP-сервер, не отправив электронное письмо.Могу ли я аутентифицировать SMTP с помощью SwiftMailer без отправки по электронной почте

Я пытаюсь сделать что-то вроде этого:

$client = Swift_SmtpTransport::newInstance($smtpServer, $smtpPort, 'ssl'); 
$client->setUsername($this->smtpUser); 
$client->setPassword($this->smtpPass); 
$client->authenticate(); 

Там нет authenticate() метод на Swift_SmtpTransport, но было бы здорово, если бы там было что-то подобное я мог бы использовать.

Я не могу найти подходящую функцию в источнике: https://github.com/swiftmailer/swiftmailer/blob/master/lib/classes/Swift/Transport/AbstractSmtpTransport.php

Есть ли способ, чтобы просто попробовать и проверить аутентификацию на сервере SMTP, используя SwiftMailer без отправки электронной почты?

ответ

3

от их manual:

Если вам нужно рано знать, действительно ли удалось аутентификации и исключение, собирается быть выброшен, вызовите метод start() на созданного транспорта.

+1

Спасибо, это работает. Это меня отбросило, что 'start()' вернет true, если вы не зададите имя пользователя и пароль и просто вызовите '$ client-> start()' с допустимым SMTP-сервером и типом шифрования. Когда я попытался ввести имя пользователя и пароль, они потребовали, чтобы они были правы. – Erik