2013-08-23 49 views
0

我目前正在閱讀郵件服務器的郵件,我想更改郵件服務器中所有郵件的主題,並附加一些字符併發送給用戶收件箱。在到達收件箱之前是否可以使用php更改原始郵件的主題?

是否可以使用PHP,如果是這樣,我該怎麼做呢?

<?php 

require_once('MimeMailParser.class.php'); 

$path = 'path/to/mail.txt'; 
$Parser = new MimeMailParser(); 
$Parser->setPath($path); 

$to = $Parser->getHeader('to'); 
$from = $Parser->getHeader('from'); 
$subject = $Parser->getHeader('subject'); 
$text = $Parser->getMessageBody('text'); 
$html = $Parser->getMessageBody('html'); 
$attachments = $Parser->getAttachments(); 

?> 
+0

@Ootegem你知道該怎麼做嗎? – thuk

回答

-1

難道你們就不能只是做以下呼應外出時?:

$subject = $Parser->getHeader('subject') . "You're text appended here."; 

還是本作預先考慮:

$subject = "You're text prepended here." . $Parser->getHeader('subject'); 
+0

我需要更改原始郵件的主題而不是迴應它。 – thuk

0

好PHP不能改變行的文件,但它可以覆蓋整個文件。您將需要ovwerwrite文件,搜索文件,我會tipycally做到這一點,通過使用explode函數搜索單詞'主題'或preg_match解析一條線開始'主題',並替換你想要存儲在'$通過使用str_replace fnctn匹配[0]。

但是,如果你正在Linux系統上運行,並且你有一個郵件服務器如postfix,你可以通過調用'exec'或'system'命令來調用一個Sed & Awk腳本。只要意識到啓用此功能的危險性,但具有相當常識的情況下,您不應該遇到任何問題。 順便說說Sed & Awk的特殊用途是修改文件和電子郵件可以視爲文件。

相關問題