PHP 邮件程序脚本无法在 IONOS 服务器上运行

问题描述 投票:0回答:2

PHP 初学者在这里尝试解决一个问题已经好几天了:

我正在尝试通过 IONOS 邮件服务器使用 PHP mail() 函数发送 html 邮件。 Html 很重要,因为我想设置标题中电子邮件的编码(特殊字符)。

不知何故,我在其他提供商的服务器上成功使用的脚本无法在 IONOS 服务器上运行。 根据 IONOS 支持,这些电子邮件不遵循 RFC5321 和 RFC5322 标准。

我被告知要更改我的脚本,并且需要以下字段类型作为标头的一部分:“日期:”、“发件人:”、“发件人:”和“收件人:”,并且这些字段类型不得多次包含:“日期:”、“发件人:”、“发件人:”、“收件人:”、“抄送:”、“密件抄送:”、“主题:”。此外,字段类型“日期:”必须有效并遵循 RFC2822 标准。

这是我的想法:

$datum = date(DateTime::RFC2822);
$empfaenger = "[email protected]";
    
$headers   = array();
$headers[] = "Date: {$datum}";
$headers[] = "From: {$email}";
$headers[] = "Sender: {$email}";
$headers[] = "To: {$empfaenger}";
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=utf-8";
$headers[] = "X-Mailer: PHP/".phpversion();
mail("$empfaenger","Kontaktaufnahme via www.xyz.de von $name $vorname",$mailbody,implode("\r\n",$headers));

此处缺少的变量是之前定义的。

不幸的是,这也不会通过 IONOS 邮件服务器发送邮件。

谁能指出我哪里出错了? 提前非常感谢!

php phpmailer rfc2822 ionos
2个回答
0
投票

Ionos/1and1 要求您通过其 SMTP 路由邮件,以便通过其托管上的 PHP 发送邮件。正如一条评论所暗示的那样,如果没有邮件程序库,这可能会很困难。

以下是如何通过 PHPMailer 设置它们:

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host       = 'smtp.ionos.com';
$mail->SMTPAuth   = true;
$mail->Username   = '[email protected]';
$mail->Password   = 'your_password';
$mail->SMTPSecure = 'tls';
$mail->Port       = 465;

有关使用 Ionos SMTP 的详细信息可以在这里找到 - https://www.ionos.com/help/email/general-topics/settings-for-your-email-programs-imap-pop3/


0
投票

Ionos 最近改变了他们的政策。

对于共享托管 Linux 和托管服务器

从1月29日开始, 2024 年,您通过 IONOS 网络空间发送的电子邮件将需要 属于您的 IONOS 合约域的发件人地址。

https://www.ionos.com/help/hosting/no-sending-of-emails-with-a- different-sender-address/

您可以通过设置 php.ini 文件来访问服务器上的邮件日志,请参阅 https://www.ionos.com/help/hosting/troubleshooting-for-php/php-mail-logs-for-error-analysis/了解更多说明。

© www.soinside.com 2019 - 2024. All rights reserved.