القضبان ActionMailer مع راحة المصادقة المساعد لن تسليم البريد

StackOverflow https://stackoverflow.com/questions/1066403

سؤال

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

 undefined method `perform_delivery_SMTP' for #<UserMailer:0x28ec7ac>

لقد عادت إلى قديم المراجعة إنشاء تطبيقات جديدة مع actionmailer, تثبيت القضبان ، تثبيته جميع الإضافات و الأحجار الكريمة ولكن استمر الخطأ.وقد أي شخص من أي وقت مضى رأيت هذا الخطأ من قبل ؟ يبدو أني بحاجة إلى إضافة perform_delivery_SMTP طريقة UserMailer النموذج ، ولكن كيف ولماذا ؟ شكرا

هل كانت مفيدة؟

المحلول

حيث يمكنك تكوين جهاز الارسال?

أنا أعتقد أن طريقة التسليم يتم تعيين مثل هذا

ActionMailer::Base.delivery_method 'SMTP'

استخدام :smtp بدلا من 'SMTP'

ActionMailer يفترض أنك سوف تستخدم :smtp, :sendmail أو :test

ويستخدم هذا في deliver! مثل طريقة لذلك

__send__("perform_delivery_#{delivery_method}", mail) if perform_deliveries

مما يعني أنه عندما delivery_method هو مجموعة 'SMTP' وسوف نحاول الاتصال perform_delivery_SMTP, التي لا وجود لها كما عرفت.عند استخدام رمز :smtp ويدعو perform_delivery_smtp, التي لا وجود لها.

نصائح أخرى

وأولئك الذين قد تكافح مع ActionMailer تعمل بشكل جيد على الملقم المحلي (نمط التنمية)، وليس العمل في وضع الإنتاج ينبغي أن تنظر في الرابط التالي:

http://filiptepper.com/ 2009 / 11/02 / التلاعب بنتائج تلميح-smtp_tlsrb مقابل روبي-187 /

ووتحل مشكلتي، قد تكون مفيدة للآخرين أيضا. في الأساس المشكلة هي أن "check_auth_args في صافي :: SMTP يأخذ حجج مختلفة في Ruby 1.8.7 (أي أنا أستخدم للتنمية) وروبي 1.8.6 (انطلاق)". وأسوأ ما في الأمر هو أنه لا يترك خطأ في ملف production.log. للتحقق من أنه كان حقا مشكلة لدي لتشغيل ActionMailer لإرسال البريد الإلكتروني من البرنامج النصي / وحدة التحكم حيث أنه أثار الخطأ من عدد غير صحيح من الوسيطات ...

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