gpt4 book ai didi

php - 在不发送的情况下测试 PHPMailer 用户名和密码,即检查连接

转载 作者:行者123 更新时间:2023-12-03 20:18:10 24 4
gpt4 key购买 nike

我使用 PHPMailer 的电子邮件帐户必须每 90 天更改一次密码。

是否可以在不实际发送电子邮件的情况下检查与该帐户的 PHPMailer 连接?理想情况下,我想要一个用户单击标题为“检查连接”的按钮,然后返回“连接成功”或“连接不成功”。

注意,这不是检查是否可以连接到 SMTP,而是实际检查用户名和密码并返回结果。

我在某处看到有人提到使用 Connect() 函数,但我无法使其正常工作。

谢谢。

最佳答案

你知道你已经有一些代码来展示如何做到这一点吗?它是 one of the examples provided with PHPMailer .
这是大部分内容:

require '../PHPMailerAutoload.php';
//Create a new SMTP instance
$smtp = new SMTP;
//Enable connection-level debug output
$smtp->do_debug = SMTP::DEBUG_CONNECTION;
try {
//Connect to an SMTP server
if (!$smtp->connect('mail.example.com', 25)) {
throw new Exception('Connect failed');
}
//Say hello
if (!$smtp->hello(gethostname())) {
throw new Exception('EHLO failed: ' . $smtp->getError()['error']);
}
//Get the list of ESMTP services the server offers
$e = $smtp->getServerExtList();
//If server can do TLS encryption, use it
if (is_array($e) && array_key_exists('STARTTLS', $e)) {
$tlsok = $smtp->startTLS();
if (!$tlsok) {
throw new Exception('Failed to start encryption: ' . $smtp->getError()['error']);
}
//Repeat EHLO after STARTTLS
if (!$smtp->hello(gethostname())) {
throw new Exception('EHLO (2) failed: ' . $smtp->getError()['error']);
}
//Get new capabilities list, which will usually now include AUTH if it didn't before
$e = $smtp->getServerExtList();
}
//If server supports authentication, do it (even if no encryption)
if (is_array($e) && array_key_exists('AUTH', $e)) {
if ($smtp->authenticate('username', 'password')) {
echo "Connected ok!";
} else {
throw new Exception('Authentication failed: ' . $smtp->getError()['error']);
}
}
} catch (Exception $e) {
echo 'SMTP error: ' . $e->getMessage(), "\n";
}
要使用 SMTPS 而不是 SMTP+STARTTLS 进行连接,请更改以下行:
if (!$smtp->connect('mail.example.com', 25)) {
到:
if (!$smtp->connect('ssl://mail.example.com', 465)) {

关于php - 在不发送的情况下测试 PHPMailer 用户名和密码,即检查连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41610285/

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