سؤال

أنا محاولة إرسال البريد الإلكتروني عن طريق php إلى ياهو المتلقي.في كل مرة كنت على اتصال ياهو أحصل على 250 حالة رمز عنوان المستلم ، حتى لو لم يكن موجودا.لقد وجدت البرنامج النصي التي تحصل على رمز الحالة الصحيحة من ياهو, ولكن أنا لا يمكن العثور على الاختلافات أو الأخطاء فعلت في مخطوطتي.حاولت إرسال أوامر مختلفة و تشغيل البرنامج النصي على عدة خوادم, ولكن أنا دائما الحصول على 250 استجابة RCPT إلى القيادة.لماذا لا تحصل على استجابة الصحيح?أريد أن أتوقف عن النصي عند المتلقي لا وجود له!

سجل verify-email.org الذي يحصل على الإجابة الصحيحة:

MX record about yahoo.com exists.
Connection succeeded to g.mx.mail.yahoo.com SMTP.
=220 mta1062.mail.sp2.yahoo.com ESMTP YSmtp service ready
> HELO verify-email.org
=250 mta1062.mail.sp2.yahoo.com
> MAIL FROM: <check@verify-email.org>
=250 sender <check@verify-email.org> ok
> RCPT TO: <sdjrfvn3r@yahoo.com>
=554 delivery error: dd This user doesn't have a yahoo.com account (sdjrfvn3r@yahoo.com) [0] - mta1062.mail.sp2.yahoo.com

سجل السيناريو الذي يحصل على استجابة خاطئة:

C Connect to h.mx.mail.yahoo.com
S 220 mta1144.mail.mud.yahoo.com ESMTP YSmtp service ready
C HELO my-domain.com
S 250 mta1144.mail.mud.yahoo.com (152.70 ms)
C MAIL FROM: <existing-address@my-domain.com>
S 250 sender <existing-address@my-domain.com> ok (723.29 ms)
C RCPT TO: <sdjrfvn3r@yahoo.com>
S 250 recipient <sdjrfvn3r@yahoo.com> ok (152.67 ms)
C Close socket connection
S Connection closed gracefully

يمكنك العثور على السيناريو الذي يعمل بشكل صحيح هنا: http://verify-email.org

السيناريو:

    while(preg_match('/^\d\d\d-/', $r = fgets($sock))) {
        $response .= $r;
    }
    $response .= $r;

    return $response;
}

$mxRecord = "a.mx.mail.yahoo.com";
$domain = 'example.com';
$mailFrom = 'mailfrom@example.com';
$rcptTo = 'doesntexist2011@yahoo.com';

$commands = array(
    "HELO ".$domain."\r\n",
    "MAIL FROM: <".$mailFrom.">\r\n",
    "RCPT TO: <".$rcptTo.">\r\n",
//  "DATA\r\n",
//  ... email subject and content
//  ".\r\n",
    "QUIT\r\n"
);

if($sock = fsockopen($mxRecord, 25, $errno, $errstr, 30)) {
    foreach($array as $cmd) {
        echo htmlentities($cmd);
        echo '<br />';
        fwrite($sock, $cmd);
        echo htmlentities(getResponse($sock));
        echo '<hr />';
    }

    fclose($sock);
}
else {
    echo 'no connection';
}
?>

بعض المعلومات:

  • أنا استخدم النطاق الخاص (لا example.com)
  • السيناريو الموجودة على الملقم حيث المجال يشير إلى
  • الخادم ليس على أي القائمة السوداء مثل spamhaus.org
  • استخدام عنوان البريد الإلكتروني في "البريد" موجود
  • يمكنني استخدام getmxrr() للحصول على mx مداخل yahoo.com
  • حاولت هيلو و EHLO -> دائما نفس الرد
هل كانت مفيدة؟

المحلول

لا النفايات أموالك على verify-email.org.كنت قد كتبت الفئة التي يعمل بشكل جيد جدا في التحقق من عناوين البريد الإلكتروني ، ولكن قد تواجه مشاكل لعدة أيام في محاولة للعودة شيء من ياهو وغيرها من 250 المتلقي موافق الرسالة.وأخيرا جاء مع العمل الذي أود أن حصة هنا للأسف بعد ضرب أجهزتهم حوالي 10 مرات أو حتى أنها منعت لي لمدة 12 ساعة.ثم انتقلت فئة من ديف ملقم إلى ملقم مباشر مع اسم نطاق جيد ، rDNS تكوين كل شيء من شأنها أن تسمح لي أن أرسل رسائل البريد الإلكتروني دون الحصول على القائمة السوداء ناقص المجال المفاتيح.مرة أخرى, ليس لدي سوى 250 الردود مع SMTP و مرة أخرى أنا حصلت على IP المحظورة مع عملي في جميع أنحاء.قررت أخيرا أن كسر وشراء البرنامج النصي "انظر ماذا يفعلون مختلفة".الجواب:أنهم لا يفعلون أي شيء مختلف.في الواقع, السيناريو كان القمامة متطابقة تقريبا إلى أي بدائية النصي يمكنك أن تجد على الانترنت.أنا حملت على 2 مختلفة الخادم مع اثنين من تكوينات مختلفة ، اتباع الإرشادات النصي للرسالة ( كان فقط 1 أو 2 تعليمات) وحتى الآن, حصلت على نفس 250 الرد على نفس البريد الإلكتروني الذي تلقيت 554 على الموقع.حفر أعمق قليلا وجدت أنه يحتمل بريد الكتروني شركة تسويق بيع البرنامج النصي.فهي إما علاقة مع ياهو و غيرها أو الدعوة لها بعض النظام الحالي, أنا لا أعرف ولكن أنا لا أعرف sccript لا يعمل.وفضلا عن ذلك فإن رسائل البريد الإلكتروني المرسلة إلى البائع SWREG (الرقمية النهر الشركة) لم تلق وكذلك طلب استرداد.لقد أرسلت لقطات من النتائج مقابل ما عرض على الموقع.أنا الآن تقديم نزاع مع شركة بطاقة الائتمان الخاصة بي.أن لا تشتري من verify-email.org.في عملية احتيال.هذا إلا إذا كنت تشعر مثل التبول بعيدا 45 دولار.

نصيحتي الوحيدة هي أن شكل العلاقات التجارية مع الشركات الكبرى أو الذهاب من خلال شركة مثل ReturnPath (جدا جدا مكلفة.) أو إرسال رسائل البريد الإلكتروني تأكيد كل مشترك.أنا للأسف تعمل شركة التسويق التي لا يمكن إرسال رسائل البريد الإلكتروني تأكيد على أساس القواعد لديهم مع الشركاء التابعة لها لذلك يجب أن تستخدم خدمة طرف ثالث (مكلفة) أو الخروج مع حل آخر.حظا سعيدا.

نصائح أخرى

هل قرأت أسئلة وأجوبة Verify-email.org؟"بالنسبة لبعض المجالات، لا يمكنك التحقق مما إذا كان العنوان جيدا أم لا، لأن خوادم البريد الخاصة بهم لا تتعاون. على سبيل المثال: Yahoo.com"

هذا لأن خوادم البريد هذه لا ترغب في حصاد البريد العشوائي عناوين بريد إلكتروني معروفة معروفة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top