私は単純に見えることをやろうとしている初心者ですが、かなり複雑であることが判明しました。Hostgator 転送電子メール機能を使用して、添付ファイル付きの電子メールを 1 つの電子メール アドレスに転送し、電子メール、添付ファイル、およびすべてを別の電子メール アドレスに転送し、「宛先」の元の電子メール アドレスを削除しようとしています。ヘッダー セクションを転送先の電子メール アドレスに置き換えます。
スタンドアロン機能を使用すると、hostgator の cpanel で添付ファイル付きの電子メールを転送できますが、最終的な受信電子メールに転送すると元の電子メールが表示されます。ホストゲーターが最終受信者に bcc として送信しているようなものです。
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));
?>