изменить адрес электронной почты, который используется на сервере - PullRequest
0 голосов
/ 22 декабря 2011

Я настраиваю систему, которая всякий раз, когда пользователь регистрируется на моем сайте, автоматически отправляет подтверждение по электронной почте.
Моя проблема в том, что используемая электронная почта заканчивается на info@buick.websitewelcome.com, что странно, потому что мой сайт не buick.websitewelcome.com.
Мой ожидаемый адрес электронной почты должен быть info@myaddress.info.

Как бы я это сделал, я использую CPanel FYI.

Это также мой код при отправке подтверждающего адреса

    function SendUserEmailVerificationCode( $code,$username,$email_address ) {

            // multiple recipients
            $to  = $email_address;

            // subject
            $subject = 'Verification Code';

            // message
            $message = "
                    Dear ".$username."<br><br>
                    You received this email because you registered at http://myaddress.info/.<br>
                    To complete registration please enter this registration code<h1>".$code."</h1></strong> on the link below:<br>
                    http://myaddress.info/verifyMe.php?username=".$username."
                    ";
            $headers = 'From: info@myaddress.info' . "\r\n";

// To send HTML mail, the Content-type header must be set
            $headers  .= 'MIME-Version: 1.0' . "\r\n";
            $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

            // Mail it
            mail($to, $subject, $message, $headers);
        }

Любая помощь будет принята с благодарностью и вознаграждением!

Ответы [ 3 ]

1 голос
/ 22 декабря 2011

-f установит адрес отправителя, -r переопределит путь возврата по умолчанию, который генерирует sendmail (обычно используется адрес отправителя).

Ref: PHP Manual: mail

1 голос
/ 22 декабря 2011

Четвертый аргумент в функции mail() используется для заголовков, как вы уже заметили.Просто добавьте заголовок From.Это изменит поле from.

$headers .= 'From: info@mywebaddress.com'."\r\n";

Кроме того, если вы также хотите изменить почтовый конверт с (что вам, вероятно, нужно), вы можете использовать пятый аргумент.Это используется для опций, которые должны быть переданы непосредственно в sendmail.Здесь вы должны добавить -f info@mywebaddress.com.Простой пример показан ниже.

mail('recipient@domain.com', 'Subject', 'Message',
  'From: info@myaddress.info','-f info@myaddress.info');

А также, все это упоминается в официальном руководстве PHP по mail().

1 голос
/ 22 декабря 2011

Попробуйте параметр командной строки -f, как показано на http://php.net/manual/en/function.mail.php#example-3048

<?php
mail('nobody@example.com', 'the subject', 'the message', null,
   '-fwebmaster@example.com');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...