2011-11-23 12 views
13

destinatary bunun gibi bir başlık alır:PHP ile posta gönderirken "via" ve sunucu adı nasıl kaldırılır? PHP ile bir mail gönderdiğinizde

[email protected] **via** de p3nlhg147.shr.prod.phx3.secureserver.net 

ben "üzerinden" bölümünü kaldırmak istiyorum. Web sitelerinden gelen çoğu otomatik e-postada "via" yoktur, bu yüzden onu kaldırmak kesinlikle mümkündür.

Bunu nasıl yapıyorlar?

+1

yapamazsınız, posta sunucusu değil php. –

+0

Evet, yapabilirsin. Lütfen cevabın bir göz atın. – richard

cevap

19

Evet, "via" kısmından kurtulabilirsiniz. İşte ayrıntılar var: Birincisi

1) SPF and DKIM 

, size gelen e-postaları gönderiyor etki alanı için bir SPF rekoru ve de DKIM etkinleştirmeniz gerekecektir. Bunlar öncelikle mesajlarınızı spam'e karşı tanımlamak içindir. Eğer mesaj gönderiyor alan adında bir e-posta adresi gibi başlığını:

2) "From: [email protected]" 

İkincisi, “Kimden” ayarı emin olun. Başka biri gibi davranma. Mesajları abc.com'dan [email protected] veya [email protected] veya başka bir şey gibi bir şey yerine gönderiyorsanız, “Kimden: [email protected]” adresini kullanın. Alıcının alan e-postanız yerine Gmail e-postanıza yanıt vermesini isterseniz, “Reply-To:” başlığını kullanın. “Kimden:” her zaman e-postayı gönderdiğiniz alanın e-postası olmalıdır. başlığında: “Kimden” ile aynı alanı olmaya başlığını:
3) "Return-Path: [email protected]" 

Üçüncüsü ve en önemlisi

, “Dönüş Yolu” olarak ayarlayın. Bunun için posta() fonksiyonunun 5 parametreyi kullanın:
mail('[email protected]', 'Subject', "Message Body", $headers, '[email protected]') 

Yani bu mesajın Dönüşü-Yol “ [email protected]” (e-posta adresi hemen -f anahtarıyla aşağıdaki) olur. $ Headers parametresi gerekli tüm mesaj başlıklarını içermelidir. “Kimden:” öğesinin bir ş [email protected] olduğundan emin olun.

Bu adımlar ve önlemlerden sonra, Gmail artık iletileriniz etki alanınız.com'dan tamamen güvenmelidir. İletilerinizin ‘alan gone alanı silinmeli ve‘ postalanan ‘alanı ile‘ imzalanan alan your alanınız.com’unuz olarak doğru bir şekilde gösterilmelidir.

Umut eder!

+0

Posta sunucusu site sunucusundan farklıysa bu işe yarar mı? –

+0

Teşekkürler, çekicilik gibi çalışır ... Sadece iki adım, 2. ve 3. kullandım. Teşekkürler richard ... –

1

Bu muhtemelen MTA'nız tarafından eklenir ve hangi MTA'yı kullandığınızı söylemediniz.

Postaları, PHP'nin mail() işleviyle değil, SMTP-Auth ile bile PHPMailer gibi bir şey kullanarak göndermenizi öneririz. Aynı sorunu ben de getirdim.

7

mail('[email protected]', 'the subject', 'the message', null,'[email protected]'); 

son parametre e-posta adresiyle -f olduğundan emin olun: Ama Aşağıdaki kodu kullanarak sorunun üstesinden gelmiş.

e-postada bulunan html ileti gövdesi için

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";<br /> 
mail('[email protected]', 'the subject', 'the message body in html format', $headers,'[email protected]'); 

ekleyebilir.

1

tarihinde burada bu konuda ne diyor bakınız: http://support.google.com/mail/bin/answer.py?hl=en&ctx=mail&answer=1311182

Tüm iyi!

+2

Sadece bir bağlantı sağlamaktan ziyade, bu sorudaki içeriği açıklamayı denemelisiniz. – Layke

+0

Yığın Taşmasına Hoş Geldiniz! Bu teorik olarak soruyu cevaplayabilirken [http://meta.stackexchange.com/q/8259] buradaki cevabın önemli kısımlarını içerecek ve referans için bağlantı sağlayacaktır. – Adi

İlgili konular