Проблемы при отправке регистрационного письма? - PullRequest
0 голосов
/ 15 апреля 2020

У меня проблема при отправке электронного письма активации моих пользователей. У меня есть файл Mailer. php, в котором код, который отправляется после регистрации, и код:

<?php

#################################################################################
##              -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =-                 ##
## --------------------------------------------------------------------------- ##
##  Filename       Mailer.php                                                  ##
##  Developed by:  Dixie                                                       ##
##  License:       TravianX Project                                            ##
##  Copyright:     TravianX (c) 2010-2011. All rights reserved.                ##
##                                                                             ##
#################################################################################

class Mailer {

    function sendActivate($email,$username,$pass,$act) {

        $subject = "Welcome to ".SERVER_NAME;

        $message = "Hello ".$username."

Thank you for your registration.

----------------------------
Name: ".$username."
Password: ".$pass."
Activation code: ".$act."
----------------------------

Click the following link in order to activate your account:
http:www.travianforce.com.es/activate.php?code=".$act."

Greetings, And dont forget invite all your friends to play on travianforce! =)
TRAVIANFORCE GAMES";

        $headers = "From: support@travianforce.com.es".SERVER_NAME."\n";

        mail($email, $subject, $message, $headers);
    }

    function sendInvite($email,$uid,$text) {

        $subject = "".SERVER_NAME." registeration";

        $message = "Hello ".$username."

Try the new ".SERVER_NAME."!


Link: http://www.travianforce.com.es/anmelden.php?id=ref".$uid."

".$text."


Greetings, And dont forget invite all your friends to play on travianforce! =)
TRAVIANFORCE GAMES";

        $headers = "From: support@travianforce.com.es".SERVER_NAME."\n";

        mail($email, $subject, $message, $headers);
    }

    function sendPassword($email,$uid,$username,$npw,$cpw) {

        $subject = "Password forgotten";

        $message = "Hello ".$username."

You have requested a new password for Travian.

----------------------------
Name: ".$username."
Password: ".$npw."
----------------------------

Please click this link to activate your new password. The old password then
becomes invalid:

http://www.travianforce.com.es/password.php?cpw=$cpw&npw=$uid

If you want to change your new password, you can enter a new one in your profile
on tab \"account\".

In case you did not request a new password you may ignore this email.

TRAVIANFORCE GAMES
";

        $headers = "From: support@travianforce.com.es".SERVER_NAME."\n";

        mail($email, $subject, $message, $headers);
    }

};
$mailer = new Mailer;
?>

Но когда пользователь регистрируется, он не отправляет сообщение и в веб-почту Орды это показывает мне следующую ошибку:

Это сообщение было создано автоматически программой доставки почты. Отправленное вами сообщение не может быть доставлено одному или нескольким получателям. Это постоянная ошибка. Не удалось выполнить следующие адреса: gadprofecy@gmail.com host gmail-smtp-in.l.google.com [172.217.204.27] Ошибка SMTP с удаленного почтового сервера после окончания данных: 550-5.7.1 [184.171.251.122 13] Сообщения с несколькими адресами в заголовке From: 550 5.7.1 не принимаются. m68si1348713vs c .19 - gsmtp

У меня также есть файл mailme. php, в котором объявлены параметры электронной почты и код такой:

<?php

if ($_POST && count($_POST)) {

    include_once('GameEngine/config.php');

    $strEmpfaenger = (ADMIN_EMAIL ? ADMIN_EMAIL : (PAYPAL_EMAIL ? PAYPAL_EMAIL : 'support@travianforce.com.es'));

    $strFrom       = "From: TRAVIANFORCE X150 <$strEmpfaenger>\n";
    $strSubject    = "New Ticket supported";
    $strReturnhtml = 'dorf1.php';
    $strDelimiter  = ":\t";
    $strMailtext   = "";

    while (list($strName, $value) = each($_POST)) {
        if (is_array($value)) {
            foreach ($value as $value_array) {
                $strMailtext .= $strName . $strDelimiter . $value_array . "\n";
            }
        } else {
            $strMailtext .= $strName . $strDelimiter . $value . "\n";
        }
    }

    if (get_magic_quotes_gpc()) {
        $strMailtext = stripslashes($strMailtext);
    }

    mail($strEmpfaenger, $strSubject, $strMailtext, $strFrom) or die("The mail could not be send. Something get wrong!");

    header("Location: $strReturnhtml");

    exit;
}
?>

Почему это показывает мне ошибку, что сообщение не было отправлено?

...