Tam başlıkları gelen e-postaları ayıklamak için nasıl

2 Cevap

Ben PHP ile açtı ve şimdi gönderenin e-posta adreslerini almak için gereken bazı e-postalar var. Birisi Bunun için kullanmanız gereken fonksiyon bana söyleyebilir? Zaten PHP ile açarak e-postalar var.

EDIT: Is this a tough question or am I just not explaining it well enough?

Ben açıldı içeriğinden e-posta adreslerini almak için preg_match kullanıyor musunuz?

2 Cevap

not that well documented Zend_Mail bir Zend_Mail_Message nesneye ham e-posta ileterek o yapmak gerekir iken bazı posta sending kütüphaneler, ham e-posta ayrıştırmak olabilir. (Note: Reading mailboxes is well documented, ben ne gördüm, bir ham mesajı okuduktan değildir.)

$message = new Zend_Mail_Message(array(), $filename);
$sender = $message->getHeader('From');

Eğer ihtiyacınız olan tüm gönderici ise, iyi bir RegEx bir kütüphaneyi kullanarak daha sonra, beden / mime parçaları işleyerek / diğer başlıklarını test edilecektir buna değer olacak, ancak kullanmak için daha iyi olurdu.

Selam. Bunun için normal bir ifade kullanabilirsiniz.

$regexp = '/From:\s*(([^\<]*?) <)?<?(.+?)>?\s*\n/i';
if(preg_match($regexp, $email, $matches)) {
    echo "Name: " . $matches[2] . "\r\n";
    echo "Email: " . $matches[3] . "\r\n";
}
else {
    echo "No match";
}

No name dahil eğer "Ad" kısmı sadece boş olurdu.

Bu başlıktan itibaren standart için çalışmalıdır. Bu ham e-posta, başlıkları ve tüm dahil kullanıyor üstleniyor.