إرسال البريد الإلكتروني مع برنامج نصي روبي - 501 5.5.4 عنوان غير صالح

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

  •  05-07-2019
  •  | 
  •  

سؤال

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

#!/usr/bin/ruby

require 'net/smtp'

def send_email(to, subject = "", body = "")
    from = "my@email.com"
    body= "From: #{from}\r\nTo: #{to}\r\nSubject: #{subject}\r\n\r\n#{body}\r\n"

    Net::SMTP.start('192.168.10.213', 25, '192.168.0.218') do |smtp|
        smtp.send_message body, from, to
    end
end

send_email "my@email.com", "test", "blah blah blah"

في مخطوطتي الفعلي، my@email.com هو بريد إلكتروني صحيح. 192.168.10.213 هو ملقم البريد و192.168.0.218 هو بلدي الملكية الفكرية المحلية. لاحظ أن أنا تشغيل ويندوز إكس بي، وخادم البريد هو خادم الصرف.

وأنا لا أفهم لماذا يعمل telnet مع نفس القيم، ولكن هذا السيناريو يثير الخطأ عنوان غير صالح.

ويمكن لأي شخص أن يساعدني؟

تعديل : في رمز أعلاه يعمل الآن على ما يرام، وأنا يقم أصلا الفواصل في استدعاء الأسلوب النهائية. أشعر احمق.

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

المحلول 3

هل تصدق ذلك؟ أشعر احمق، أنا فقط الفواصل مفقود في استدعاء الأسلوب ...

وsend_email "my@email.com", "test", "blah blah blah"

وأنا أشعر بالحرج.

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

نصائح أخرى

تأكد من عنوان بريدك الإلكتروني الفعلي لا يحتوي على أحرف غير صالحة. على سبيل المثال، انظر هذا السؤال .

وأود أن أوصى عمل ميلر للحصول على إرسال رسائل مع روبي. انظر قصاصة هنا .

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

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