PHPMailer出现奇怪问题,显示SMTP连接错误,如下所示。什么可能导致这个?它在我使用Gmail SMTP服务器时有效,并且还可以使用本地邮件功能。服务器上的Roundcube发送正常。它似乎只是PHPMailer。据我所知,所有设置都是正确的。它正在使用TLS,我尝试了不同的端口。正确的端口显示以下错误:
private static void EnumerateContentsInTargetDirectory(ref IPortableDeviceContent content, PortableDeviceFolder parent)
{
// Get the properties of the object
IPortableDeviceProperties properties;
content.Properties(out properties);
// Enumerate the items contained by the current object
IEnumPortableDeviceObjectIDs objectIds;
content.EnumObjects(0, parent.Id, null, out objectIds);
uint fetched = 0;
do
{
string objectId;
objectIds.Next(1, out objectId, ref fetched);
if (fetched > 0)
{
var currentObject = WrapObject(properties, objectId);
if (currentObject is PortableDeviceFolder)
{
if (currentObject.Name.Equals("SD Card") || currentObject.Name.Equals("path") || currentObject.Name.Equals("to"))
{
parent.Files.Add(currentObject);
EnumerateContentsInTargetDirectory(ref content, (PortableDeviceFolder)currentObject);
}
else if (currentObject.Name.Equals("directory"))
{
parent.Files.Add(currentObject);
// This is the same original method of Christophe Geer.
EnumerateContents(ref content, (PortableDeviceFolder)currentObject);
}
}
}
} while (fetched > 0);
答案 0 :(得分:0)
the troubleshooting guide中介绍了这一点。它在STARTTLS之后立即失败,这通常表明您的邮件服务器正在发布无效的SSL证书,该证书已过期,自签名或与主机名不匹配。真正的解决方案是修复证书,但指南告诉您如何禁用验证。
据推测,gmail正在运行,因为它没有破坏SSL配置,并且roundcube可能在没有TLS的情况下提交到localhost(通过mail()
),因此它不会遇到问题。