2013-06-19 108 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/ –

相關問題