2013-06-19 70 views
-1

我有一个本地使用的网站,用于通过电子邮件创建和发送订单。发送电子邮件,根据用户更改发送地址/帐户

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

例如,如果商标是发送电子邮件,它将从[email protected]发送,然后如果用户史蒂夫是登录并发送电子邮件,它将通过他的电子邮件发送[email protected]

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

+0

你是如何设置发件人姓名与头? – JJJ

+0

您是否使用php的邮件功能http://www.php.net/manual/en/function.mail.php或PHPMailer http://phpmailer.worxware.com/index.php?pg=exbsbsmtp? –

回答

0

试试下面:

<?php 

    $from = "[email protected]"; 
    $headers = "From:" . $from; 
    mail($to,$subject,$message,$headers); 

?> 

它会显示从地址通过domanin.com

+0

这可靠吗?是否有可能某些电子邮件程序会忽略这一点,当接收者点击回复时,它会将其发送到与发送邮件的员工相反的服务器电子邮件地址(希望这是有道理的,不确定如何将其发送) – braggy187

+0

There's在电子邮件标题中没有“服务器的电子邮件地址”这样的东西。唯一可以覆盖标题中'From:'部分的是'Reply-To:',如果你没有自己设置,那么它就不会被设置。 – JJJ

1
RECEIPIENT像 [email protected]

PHPMailer可以为你做这一切。

$mail    = new PHPMailer(); 
$mail->SetFrom('[email protected]', 'First Last'); 
//etc 
if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 
+0

有趣 - 将研究它。欢呼声 – braggy187

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: [email protected]' . "\n"; 

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


    ///// use 

    $message = " Hi World !"; 
    $subject= "My subject "; 
    [email protected] /// change $username with your variable 
    $to ="[email protected]" ; 

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

    echo " Not Sent :("; 
    } 
?> 
+0

干杯,尽管同样的担忧张贴到Shiv下面 - 它是可靠的 – braggy187

+0

在Sourceforge 90%的评论者认为是这样的:http://sourceforge.net/projects/phpmailer/reviews/ –

相关问题