سؤال
أريد إرسال بريد إلكتروني من تطبيق روبي.هل هناك دعوة في اللغة الأساسية للقيام بذلك أم أن هناك مكتبة يجب أن أستخدمها؟ما هي الطريقة الأفضل لعمل هذا؟
المحلول
إذا كنت لا تريد استخدامها ActionMailer يمكنك استخدام صافي::SMTP (للإرسال الفعلي) مع com.tmail لإنشاء رسائل البريد الإلكتروني بسهولة (بأجزاء متعددة، وما إلى ذلك).
نصائح أخرى
require 'net/smtp'
SMTP_SERVER = 'mailserver01' #change to your server
def send_emails(sender_address, recipients, subject, message_body)
recipients.each do |recipient_address|
message_header =''
message_header << "From: <#{sender_address}>\r\n"
message_header << "To: <#{recipient_address}>\r\n"
message_header << "Subject: #{subject}\r\n"
message_header << "Date: " + Time.now.to_s + "\r\n"
message = message_header + "\r\n" + message_body + "\r\n"
Net::SMTP.start(SMTP_SERVER, 25) do |smtp|
smtp.send_message message, sender_address, recipient_address
end
end
end
send_emails('sender@domain.com',['recip1@test.com', 'recip2@other.com'],'test Email',"Hi there this is a test email hope you like it")
انا استعمل ال صافي::SMTP مكتبة
قد تفكر أيضًا في إلقاء نظرة على ActionMailer المكون الذي يأتي كجزء من Rails ولكنه لا يعتمد عليه.
روبي ميل هي مكتبة للتعامل مع البريد الإلكتروني لروبي.
أعلم أن هذه إجابة متأخرة على هذا، ولكن تم إصدار هذا للتو:
http://adam.blog.heroku.com/past/2008/11/2/pony_the_express_way_to_send_email_from_ruby/
من الممكن ان يكون مفيدا.
لا تنتمي إلى StackOverflow