Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在plesk上配置具有dkim和smtp授权的phpmailer?_Php_Phpmailer_Plesk_Dkim - Fatal编程技术网

如何在plesk上配置具有dkim和smtp授权的phpmailer?

如何在plesk上配置具有dkim和smtp授权的phpmailer?,php,phpmailer,plesk,dkim,Php,Phpmailer,Plesk,Dkim,我和CentOs一起经营Plesk onyx。服务器的完整主机名是server.myHostName.com 在Plesk中,我已启用DKIM垃圾邮件保护以允许对传出邮件进行签名,并且在“网站和域>>邮件设置”下,我已启用使用DKIM垃圾邮件保护系统对myDomain.com的传出电子邮件进行签名 在“网站和域>>DNS设置”下,我认为DKIM有两个条目: _domainkey.MyDomain.com。及 默认值。\u domainkey.MyDomain.com Plesk正在为smtp邮件

我和CentOs一起经营Plesk onyx。服务器的完整主机名是server.myHostName.com

在Plesk中,我已启用DKIM垃圾邮件保护以允许对传出邮件进行签名,并且在“网站和域>>邮件设置”下,我已启用使用DKIM垃圾邮件保护系统对myDomain.com的传出电子邮件进行签名

在“网站和域>>DNS设置”下,我认为DKIM有两个条目:

_domainkey.MyDomain.com。及 默认值。\u domainkey.MyDomain.com

Plesk正在为smtp邮件程序使用后缀

我有几个关于让phpmailer使用此设置的问题。首先,我在php邮件脚本中包含以下内容:

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);

try {

//Server settings
$mail->SMTPDebug = 2;
$mail->isSMTP(); 
$mail->Host = 'smtp1.myHostName.com.com;smtp2.myHostName.com.com';
$mail->SMTPAuth = true; 
$mail->Username = 'user@example.com';
$mail->Password = 'secret';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->DKIM_domain = 'MyDomain.com';
$mail->DKIM_private = '/etc/domainkeys/MyDomain.com/_default';
$mail->DKIM_selector = '';
$mail->DKIM_passphrase = '';
$mail->DKIM_identity = $mail->From;

//Recipients
$mail->setFrom('myname@MyDomain.com', 'My Name');
$mail->addAddress('someone@somedomain.com', 'Some One');

//Content
$mail->isHTML(true);
$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

$mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
}

?>

在中继选项下,我还需要SMTP授权

首先,我上一次使用phpmailer是在15年前,今天才没有注明日期,因为我需要在出站电子邮件中使用DKIM,我有更多的问题,没有答案

1) $mail->Host、$mail->Username和$mail->Password使用什么

我没有设置smtp服务器,但假设这是通过Plesk安装完成的。我不知道smtp服务器名称,也不知道用户名和密码。最后2个是发送电子邮件地址中的用户名和密码吗(myname@MyDomain.com)或者其他,我应该在smtp主机字段中输入什么

2) 关于DKIM,我的电子邮件被所有大型提供商发送到垃圾邮件/垃圾邮件文件夹。。。yahoo、outlook等。原始来源表明,当从phpmailer发送时,DKIM未签名(DKIM=none(消息未签名)),或者在使用webmail.myDomain.com时失败(DKIM=fail(签名语法错误))和(DKIM=fail(无签名密钥))

如何设置脚本中的5个DKIM字段

非常感谢

==================================

同步机:

当我禁用phpmailer的DKIM并依赖于Plesk时,我从检查中得到的结果-auth@verifier.port25.com是:


DKIM检查详细信息: 结果:permerror(键“default.\u domainkey.aajumpseat.com”不存在)

DNS记录: 默认值。_domainkey.aajumpseat.com。TXT(NXDOMAIN)

有什么想法吗

我需要生成密钥吗?把它放在什么地方?我以为普莱斯克会处理好这一切


谢谢。

如果plesk在其邮件服务器配置中提供DKIM签名作为选项,请优先使用该选项,而不要使用PHPMailer的DKIM支持。请参阅上面编辑的操作。谢谢。这听起来确实需要阅读plesk的文档。实际上,除了使用plesk的DNS条目之外,我的提供商还需要在其DNS面板中输入条目。有点奇怪,但一旦完成,就像冠军一样。谢谢。如果plesk在其邮件服务器配置中提供DKIM签名作为选项,请优先使用该选项,而不是PHPMailer的DKIM支持。请参阅上面编辑的OP。谢谢。这听起来确实需要阅读plesk的文档。实际上,除了使用plesk的DNS条目之外,我的提供商还需要在其DNS面板中输入条目。有点奇怪,但一旦完成,就像冠军一样。谢谢