gpt4 book ai didi

php - SwiftMailer 测试用户名和密码

转载 作者:行者123 更新时间:2023-12-04 15:41:55 26 4
gpt4 key购买 nike

我真的不知道这是关于 SwiftMailer 还是 mailtrap.io 但问题是当我尝试与上述服务建立 SMTP 连接时(mailtrap.io) 我从来没有收到任何错误,即使我不使用任何用户名或密码。不使用任何用户名或密码时,我不应该收到任何身份验证错误吗?还是我做错了?

这是我在将动态连接存入.env文件之前测试是否可以建立动态连接的方法。

/**
* E-mail configuration
*
* @param Request $request
* @return \Illuminate\Routing\Redirector|\Illuminate\Http\RedirectResponse
*/
public function postEmailConfiguration(Request $request)
{
# Try connecting to the SMTP
try {

$encryption = $request->input('encryption');
if ($encryption == 'null') {
$encryption = NULL;
}

$transport = new Swift_SmtpTransport($request->input('host'), $request->input('port'), $encryption);
$transport->setUsername($request->input('username'));
$transport->setPassword($request->input('password'));

$mailer = new Swift_Mailer($transport);
$mailer->getTransport()->start();

# Update .env file
$this->setEnvironmentValues([
'MAIL_HOST' => $request->input('host'),
'MAIL_PORT' => $request->input('port'),
'MAIL_USERNAME' => $request->input('username'),
'MAIL_PASSWORD' => $request->input('password'),
'MAIL_ENCRYPTION' => $request->input('encryption')
]);

return redirect()->back()->with('success', 'Connection to SMTP establised and saved!');

}

# Could not connect to SMTP
catch (Swift_TransportException $e) {
return redirect()->back()->with('error', 'Could not connect to SMTP server.<br>Error: ' . $e->getMessage());
}

# Could not connect to SMTP
catch (Exception $e) {
return redirect()->back()->with('error', 'Could not connect to SMTP server.<br>Error: ' . $e->getMessage());
}
}

最佳答案

我用 SwiftMailer 6 测试了与 Gmail 的连接在 Symfony 4.4 上,下面的代码(它与您的代码类似)对我来说按预期工作。

因此,如果你想检查连接是否在没有发送消息的情况下建立,请使用下一个代码:

public function checkConnection()
{
try {
// Create the Transport
$transport = (new \Swift_SmtpTransport(
'smtp.gmail.com',
'587',
'tls'
))
->setUsername('your.username@gmail.com')
->setPassword('yourSuperPassword');
// Create the Mailer using your created Transport
$mailer = new \Swift_Mailer($transport);

$mailer->getTransport()->start();

return true;
} catch (\Swift_TransportException $e) {
return $e->getMessage();
} catch (\Exception $e) {
return $e->getMessage();
}
}

否则抛出异常:

Swift_TransportException:
Failed to authenticate on SMTP server with username "your.username@gmail.com" using 3 possible authenticators. Authenticator LOGIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials z7sm3020898ljj.98 - gsmtp".
Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials z7sm3020898ljj.98 - gsmtp".
Authenticator XOAUTH2 returned Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8 https://support.google.com/mail/?p=BadCredentials z7sm3020898ljj.98 - gsmtp".

关于php - SwiftMailer 测试用户名和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57537459/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com