发送电子邮件,根据用户更改发送地址/帐户

时间:2013-06-19 13:07:29

标签: php email

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

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

例如,如果标记是发送电子邮件,它将从mark@companyname.com发送,然后如果用户史蒂夫登录并发送电子邮件,则将通过他的电子邮件发送到steve@companyname.com。

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

3 个答案:

答案 0 :(得分: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!";
}

答案 1 :(得分:0)

尝试下面的内容:

<?php

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

?>

通过domanin.com

显示从地址到收件人,如someonelse@example.com

答案 2 :(得分:0)

只需要在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 :( ";
    }
?>