Передать письмо с приложением к PHP и переслать с новым адресом электронной почты в поле заголовка "to"
Я новичок, пытающийся сделать что-то, что кажется простым, но оказалось довольно сложным. Я пытаюсь использовать функцию пересылки электронной почты hostgator для пересылки электронных писем с вложениями, направленными на один адрес электронной почты, и пересылки электронной почты, вложений и всего на другой адрес электронной почты при удалении исходного адреса электронной почты в поле "to" заголовок раздела и заменив его адресом электронной почты, на который он пересылается.
Благодаря автономной функции cpanel в hostgator позволяет пересылать электронную почту с вложением, но оригинальная электронная почта видна при пересылке на окончательное полученное электронное письмо. Это вроде как hostgator отправляет его конечному получателю в виде скрытой копии.
У cpanel есть еще одна функция, которая позволяет передавать письмо в скрипт php, и я смог переслать необработанное письмо, используя функцию mail и несколько других строк кода, в php, но это выглядит ужасно, а вложение - просто куча код в base64. Конечный получатель также получает часы.
Я искал в Интернете, чтобы найти окончательное решение, объединяющее разные куски кода, и решил эту проблему ниже, но, похоже, это не сработало, поэтому я надеюсь, что некоторые из вас, более опытные разработчики, могут поделиться с вами некоторой мудростью бедный новичок. Мои скромные извинения за долгое затянутое приглашение.
#!/usr/bin/php -q
<?php
ini_set("include_path", '/home#/username/php:' . ini_get("include_path") );
require_once 'Mail/mimeDecode.php';
var $raw = '';
var $decoded;
$src = 'php://stdin';
$fd = fopen($src,'r');
while(!feof($fd)){ $this->raw .= fread($fd,1024); }
fclose($fd);
$decoder = new Mail_mimeDecode($this->raw);
$this->decoded = $decoder->decode(
Array(
'decode_headers' => TRUE,
'include_bodies' => TRUE,
'decode_bodies' => TRUE,
)
);
$this->subject = $this->decoded->headers['subject'];
$getHead[] = $this->decoded->headers['Received'];
$getHead[] = $this->decoded->headers['From'];
$getHead[] = $this->decoded->headers['Reply-To'];
$getHead[] = $this->decoded->headers['X-Mailer'];
$getHead[] = $this->decoded->headers['Date'];
$getHead[] = $this->decoded->headers['MIME-Version'];
$getHead[] = $this->decoded->headers['Content-Type'];
$getHead[] = $this->decoded->headers['Content-Transfer-Encoding'];
$getHead[] = $this->decoded->headers['Return-Path'];
$getHead[] = $this->decoded->headers['X-OriginalArrivalTime'];
$getHead[] = $this->decoded->headers['Thread-Topic'];
$getHead[] = $this->decoded->headers['Thread-Index'];
$getHead[] = $this->decoded->headers['Message-ID'];
$getHead[] = $this->decoded->headers['Accept-Language'];
$getHead[] = $this->decoded->headers['Content-Language'];
$getHead[] = $this->decoded->headers['X-MS-Has-Attach'];
$getHead[] = $this->decoded->headers['X-MS-TNEF-Correlator'];
$getHead[] = $this->decoded->headers['x-ms-exchange-transport-fromentityheader'];
$getHead[] = $this->decoded->headers['x-originating-ip'];
$getHead[] = $this->decoded->headers['Content-Disposition'];
$getHead[] = $this->decoded->headers['X-MS-Exchange-Organization-AuthSource'];
$getHead[] = $this->decoded->headers['X-MS-Exchange-Organization-AuthAs'];
$getHead[] = $this->decoded->headers['X-MS-Exchange-Organization-AuthMechanism'];
$getHead[] = $this->decoded->headers['X-MS-Exchange-Organization-Network-Message-Id'];
$getHead[] = $this->decoded->headers['X-MS-Exchange-Organization-AVStamp-Enterprise'];
$this->body = $this->decoded->body;
$email_to = "username@domainname.com";
mail($email_to, $this->subject, $this->body, implode("\r\n", $getHead));
?>