4

SMTP に関する質問があります。メールを送信するための PHP スクリプトを作成しました。「email1@example.com」からメールを送信する必要がありますが、「email2@example.com」に返信する必要があります。

ヘッダーフィールドに追加email2@example.comしました。reply-to私が抱えている唯一の問題は、誰かがメールを受信して​​返信ボタンをクリックすると、両方email1@example.comがフィールドemail2@example.comに表示されることです。TO

email1@example.comTO フィールドから削除して、フィールドで指定された電子メール アドレスのみを表示する方法はありreply-toますか?

私は PHPMailer を使用しており、コードは以下のとおりです。

    $this->phpmailer->IsSMTP();
    $this->phpmailer->Host = $server;
    $this->phpmailer->Port = $port;
    $this->phpmailer->SetFrom($fromEmail, $fromName); //this is email1@example.com
    $this->phpmailer->AddReplyTo($replyEmail,$fromName);  //this is email2@example.com
    $this->phpmailer->Subject = $subject;
    $this->phpmailer->AltBody = $msgTXT; // non-html text
    $this->phpmailer->MsgHTML($msgHTML); // html body-text
    $this->phpmailer->AddAddress($email);
4

2 に答える 2

8

Try:

$this->phpmailer->IsSMTP();
$this->phpmailer->Host = $server;
$this->phpmailer->Port = $port;
$this->phpmailer->AddReplyTo($replyEmail,$fromName);  //this is email2@example.com
$this->phpmailer->SetFrom($fromEmail, $fromName); //this is email1@example.com
$this->phpmailer->Subject = $subject;
$this->phpmailer->MsgHTML($msgHTML); // html body-text
$this->phpmailer->AddAddress($email);

Try setting AddReplyTo() first before SetFrom. phpmailer needs to change this behavior. It adds the from address to the reply-to field. If you set reply-to first before the from address, it will not be able to add your from address to the reply-to header.

于 2012-08-27T15:59:01.933 に答える
0

Google検索と最初の結果から

返信先アドレスの追加 ^

デフォルトでは、特に指定しない限り、Reply-To アドレスは FROM アドレスになります。それは単に電子メール クライアント インテリジェンスです。ただし、メールをあるメール アドレスから送信し、返信を別のメール アドレスに送信することもできます。方法は次のとおりです。

$mailer->AddReplyTo('billing@yourdomain.com', 'Billing Department');

注: 複数の Reply-To アドレスを持つことができます。前のコード例の行を複製し、各行の電子メール アドレスを変更するだけです。

差出人アドレスの前にこの行を追加する必要があります。同じ問題の解決策については、これをチェックしてください。

これらの例に従うと、コードは次のようになります。

$this->phpmailer->IsSMTP();
$this->phpmailer->Host = $server;
$this->phpmailer->Port = $port;
$this->phpmailer->AddReplyTo($replyEmail,$fromName);  //this is email2@example.com
$this->phpmailer->SetFrom($fromEmail, $fromName); //this is email1@example.com
$this->phpmailer->Subject = $subject;
$this->phpmailer->AltBody = $msgTXT; // non-html text
$this->phpmailer->MsgHTML($msgHTML); // html body-text
$this->phpmailer->AddAddress($email);
于 2012-08-27T15:56:02.573 に答える