-1

我有一个本地使用的网站供我的工作通过电子邮件创建和发送订单。

我希望根据发送电子邮件的人来更改发送地址(可以通过先前设置的会话变量来识别)。我怎样才能做到这一点?

例如,如果 mark 要发送一封电子邮件,它将从 mark@companyname.com 发送,然后如果用户 steve 要登录并发送一封电子邮件,它将通过他的电子邮件 steve@companyname.com 发送。

想要这样做的主要原因是收件人可以看到谁向他们发送了电子邮件,并允许他们直接回复工作人员。我已经研究了标头中的设置和回复地址,但它似乎不可靠

4

3 回答 3

1

PHPMailer可以为你做这一切。

$mail             = new PHPMailer();
$mail->SetFrom('name@yourdomain.com', 'First Last');
//etc
if(!$mail->Send()) {
  echo "Mailer Error: " . $mail->ErrorInfo;
} else {
  echo "Message sent!";
}
于 2013-06-19T13:13:41.870 回答
0

这很简单,您只需将 header 与mail()函数一起使用:

例如,您可以使用此功能

<?php
        function sendMail($to,$subject,$msg,$from = DEFULT_FROM){
            // message
            $message = '
            <html>
            <head>

            </head>
            <body dir="rtl">
            <p align="right">'
            . $msg .
            '</p>


            </body>
            </html>
            ';

            // To send HTML mail, the Content-type header must be set
            $headers  = 'MIME-Version: 1.0' . "\n";

            $headers .= 'Content-type: text/html; charset=windows-1256' . "\n";

            // Additional heade rs
            $headers .= "From: ".$from . "\n";
            //$headers .= 'Bcc: info@xxxx.co.uk' . "\n";

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


    ///// use 

    $message = " Hi World !";
    $subject= "My subject ";
    $from=$username@companyname.com /// change $username with your variable
    $to ="steve@companyname.com" ;

    /////// call function 
    $check = sendMail($to,$subject,$message ,$from);
    if($check){
    echo " Sent :) ";
    }
    else{

    echo " Not Sent :( ";
    }
?>
于 2013-06-19T13:18:13.113 回答
0

试试下面:

<?php

    $from = "someonelse@example.com";
    $headers = "From:" . $from;
    mail($to,$subject,$message,$headers);

?>

它将显示从地址到收件人,例如通过 domanin.com 的某人@example.com

于 2013-06-19T13:13:33.367 回答