2012-01-23 49 views
0

這可能是一個不好的問題。我想知道是否可以從服務器發送與domain1.com相關聯的電子郵件,來自domain2.com,並且還有來自domain2.com的原創節目?從不同於主域的域發送電子郵件?可能?

我想之所以這樣做,是因爲我有我開發一個應用程序,並想從域發送電子郵件,例如 - maildomain.com,而不是從domain.com

電子郵件來正在用php的郵件功能發送。

回答

0

是的,你可以:

$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 

您應該建立一些東西,所以接收方不將其標記爲垃圾郵件,但:

  • 設置DNS MX記錄與低優先級指向發送服務器的接收域
  • 爲發送服務器設置正確的反向DNS條目
  • ..
-1

如果郵件服務器是open mail relay那麼是的,你可以從不同的域發送。當然垃圾郵件發送者可以用它來發送垃圾郵件。獲得此功能的郵件服務器配置取決於其平臺,但您通常可以測試服務器通過telneting to the server on port 25自由中繼郵件並進行ehlo測試的功能。

+0

提交消息的能力並不意味着服務器是開放中繼。閱讀sendmail或postfix的[** access ** map](http://www.postfix.org/access.5.html)或postfix的「mynetworks」配置選項。 – ghoti

+0

哦,我的意思是使用ehlo測試來查看smtp服務器是否會接受外部地址作爲發件人地址。 –

0

電子郵件中的「發件人」地址完全是任意的。只要您有權將郵件提交到服務器的隊列,您可以將所需的任何發件人地址放入其中。 [email protected][email protected]等。

要使用PHP的mail()函數執行此操作,請使用* $ additional_headers *。例如:

$to  = "[email protected]"; 
$subject = "This is an example!"; 
$message = "Hello,\n\nThis is message body.\n\nIsn't that nice?\n\n"; 
$headers = "From: El Presidente <[email protected]>\r\n" 
     . "X-foo: bar\r\n"; 

$result = mail($to, $subject, $message, $headers); 
0

可能嗎?是的,當然可以。請參閱下面的PHP.net示例。不過,我打算在這裏放一點小小的印刷品,因爲我認爲你可能會遇到一些麻煩,我希望在未來讓你更容易。 ;)你目前的虛擬主機可能會阻止這個,我從來沒有看到它,但我聽說它可能發生。此外,還有一種稱爲SPF或發件人策略框架的東西,它是一個DNS記錄,您可以設置該記錄來確定哪些服務器可以代表您發送。許多服務器可能會收到您的郵件,特別是GMail會檢查有效的SPF。您所要做的就是在名稱服務器上爲domain.com添加TXT記錄。它應該看起來像這樣:v=spf1 mx a:maildomain.com -all。這表示設置了MX記錄的任何記錄,以及從maildomain.com解析的IP都是有效的「非垃圾郵件」。此外,您將失敗任何其他郵件來源。

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 
相關問題