سؤال

أنا أحاول أن إرسال بريد إلكتروني من موقع أنا المبنى ، ولكنه ينتهي في ياهو مجلد البريد المزعج.هذا هو البريد الإلكتروني الذي يرسل بيانات الاعتماد.ماذا يمكنني أن أفعل من أجل إضفاء الشرعية على ذلك ؟

$header = "From: site <sales@site.com>\r\n";
$header .= "To: $name <$email>\r\n";
$header .= "Subject: $subject\r\n";
$header .= "Reply-To: site <sales@site.com>" . "\r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);
هل كانت مفيدة؟

المحلول

وبالإضافة إلى اقتراحات تيد بيرسيفال ل، هل يمكن أن حاول استخدام PHPMailer ل إنشاء رسائل البريد الإلكتروني بالنسبة لك بدلا من بناء رؤوس يدويا. لقد استعملت هذه الفئة على نطاق واسع وليس لديه أي مشكلة مع البريد الإلكتروني التعرض للرفض كدعاية من قبل ياهو، أو أي شخص آخر.

نصائح أخرى

  • لا تستخدم HTML في البريد الإلكتروني الخاص بك.
  • إرساله عبر مشروع خادم البريد مع عنوان IP ثابت و عكس DNS (PTR) الذي يشير إلى الجهاز الحقيقي اسم المضيف (والمباريات بحث إلى الأمام).
  • وتشمل رسالة معرف (أو ضمان المحلية الارسال يضيف واحد بالنسبة لك).
  • تشغيل البريد الإلكتروني الخاص بك من خلال SpamAssassin والتي ترى سوء التهديف القواعد المباريات.تجنب مطابقة لها.
  • استخدام Domainkeys للبريد التي تم تحديدها إلى رقميا الرسائل الخاصة بك.

وحاولت فقط بنجاح التالية من وجهة نظري ياهو! الشبكة حساب استضافة:

$email = "me@site.com";
$subject = "Simple test";
$body = "Simple test";
$header = "From: site \r\n";
$header .= "To: $name \r\n";
$header .= "Subject: $subject\r\n";
$header .= "Reply-To: site " . "\r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);

ولكن، لديك بعض الازدواجية في رأس الخاص بك يجب عليك سوى القيام بما يلي:

$email = "me@site.com";
$subject = "Simple test";
$body = "Simple test";
$header = "From: site \r\n";
$header .= "MIME-VERSION: 1.0\r\n";
$header .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$phpversion = phpversion();
$header .= "X-Mailer: PHP v$phpversion\r\n";
mail($email,$subject,$body,$header);

وهناك أيضا احتمال أن "تنسخ" (والذي هو تحت وظيفة PHP البريد ()) يحتاج معلمات إضافية. إذا كان لديك مشكلة مع رؤوس عودة (مثل إرجاع مسار) لم يتم تعيين مع ما قمت بتعيين لها أن تكون، قد تحتاج إلى استخدام المعلمة <م> خامس البريد (). مثال:

mail('recipient@domain.com', 'Subject', $mail_body, $headers, " -f sender@domain.com");

وهناك بعض الأدلة على مزيد ذلك صحيحا الفانيليا تنسخ لديهم مشكلة مع هذا! نأمل أن يكون لديك "لواحق" كما الإلكتروني الأساسي PHP () لدعم على الملقم الهدف.

والاقتراحات تيد جيدة، وكذلك تيم، ولكن الطريقة الوحيدة لقد كنت من أي وقت مضى قادرة على موثوق الحصول على البريد الإلكتروني من خلال لياهو / هوتميل / وما هو استخدام الفئات الكمثرى البريد الإلكتروني. محاكمة و(على افتراض الخادم الخاص بك على ما يرام) I يمكن الى حد كبير ضمان انه سوف يعمل.

وتيد وتيم لديك اقتراحات ممتازة. كما يفعل Shabbyrobe. نحن نستخدم PHPMailer وليس لديهم أي مشاكل مع مرشحات البريد المزعج.

وشيء واحد هو أن نلاحظ أن العديد من مرشحات البريد المزعج والعد لا وجود إصدار نص ضدك إذا كنت تستخدم تنسيق MIME. هل يمكن إضافة كافة رؤوس وإصدار نص نفسك، أو مجرد السماح PHPMailer أو المكتبة الإلكتروني الكمثرى تراعي ذلك لك. وجود نسخة النص قد أو قد لا تساعد، ولكن ومن الممارسات الجيدة وسهلة الاستعمال.

وأنا أدرك أن نموذج التعليمات البرمجية الخاصة بك هو مجرد أن - عينة، ولكن يجدر القول: لا من أي وقت مضى مجرد قطرة بيانات المستخدم المقدمة في رؤوس البريد الخاص بك. تأكد من التحقق من صحة أنه من البيانات التي تتوقعها. ومن تافهة لتحويل السيناريو فب الإلكتروني إلى ترحيل مفتوحة، ولا أحد يريد ذلك.

وتحقق RFC 822 و RFC 2045 لتنسيق البريد الإلكتروني. أجد الدرجة البريد الإلكتروني الثعبان من السهل حقا للعمل مع. أفترض الكمثرى فب ليفعل نفس الشيء (وفقا لرسائل سابقة). كما يتم فصل الرأس والجسم من قبل "\ ص \ ن \ ص \ ن"، ولست متأكدا إذا التعليمات البرمجية تلقائيا بإدراج ذلك، ولكن يمكنك محاولة إلحاق ذلك إلى الرأس.

وأنا لا أعتقد أن DK / SPF قد تكون ضرورية (نظرا لوجود الكثير من مزودات الويب هناك دون DK / دعم SPF). يمكن أن يكون هناك الكثير من العوامل التي قد تسبب ذلك للحصول على المحظورة (أتلست 10K معيارا وأساليب مختلفة .. p0f، الرمادية، الرمادية، القائمة السوداء الخ الخ). تأكد أن بريدك الإلكتروني يتم تنسيق بشكل صحيح (هذا يحدث فرقا كبيرا). ننظر إلى المكتبات التي تولد رأس الكامل لك .. بهذه الطريقة يكون لديك أقل من فرص إجراء أي خطأ.

وإضافة سجل SPF من السهل جدا. عليك أن تحاول.

وهذا هو واحد لدرمهوست بالإضافة إلى googlemail يجب عليك أيضا أن الإعلان الذي خادم عنوان IP (في حالتي، خط قبل googlemail) السطر الأخير يقول خادم للقيام رفض لينة (علامة كدعاية ولكن لا حذف) أنا استخدامه بدلا من "-" (حذف) لوثائق جوجل تقول ذلك: -)

وإنها سجل TXT ت = spf1 IP4: 64.111.100.0/24 IP4: 66.33.201.0/24 IP4: 66.33.216.0/24 IP4: 208.97.132.0/24 IP4: 208.97.187.0/24 IP4: 208.113.200.0/24 IP4: 208.113.244.0/24 IP4: 208.97.132.74 IP4: 67.205.36.71 تشمل: aspmx.googlemail.com م × ~ كل

ونأمل أن يساعد

scroll top