Как сохранить копию исходящей электронной почты в окне «Отправленные» IMAP с помощью ActionMailer? - PullRequest
3 голосов
/ 30 апреля 2010

Когда я использую свой обычный клиент и отправляю электронную почту через SMTP для учетной записи IMAP, эта исходящая электронная почта сохраняется в поле «Отправленные» IMAP.

Как я могу вести себя так же, когда отправляю электронную почту с помощью Ruby on Rails ActionMailer?

Ответы [ 2 ]

6 голосов
/ 09 февраля 2011

Библиотека Ruby IMAP содержит метод append, который можно использовать для «сохранения» этих исходящих сообщений в выбранной папке:

# Let's assume the_mail is the Mail object you want to save
the_mail = Mail.new

# The name of the target mailbox
target_mailbox = 'Sent'

# Connect to the IMAP server
imap = Net::IMAP.new(YOUR_EMAIL_SERVER)
imap.authenticate('PLAIN', YOUR_LOGIN, YOUR_PASSWORD)  

# Create the target mailbox if it does not exist
imap.create(target_mailbox) unless imap.list('', target_mailbox)

# Save the message
imap.append(target_mailbox, the_mail.to_s)

# Close the connection
imap.logout
imap.disconnect

Надеюсь, это поможет!

1 голос
/ 01 мая 2010

Это, как правило, настройка в вашей почтовой программе, насколько я могу судить; но я не вижу особой поддержки в ActionMailer.

Существует рубиновая библиотека IMAP, если вы обнаружите, что сообщения хранятся на сервере, но не в том месте. http://ruby -doc.org / STDLIB / libdoc / сеть / IMAP / RDoc / index.html

Обходной путь может заключаться в отправке каждого сообщения на ваш исходный адрес электронной почты, скажем, sender@yourdomain.com, возможно, с таким тегом, как sender+sent@yourdomain.com, а затем в клиенте, с которым вы будете просматривать эту папку входящих сообщений, будет настроено правило для маршрутизации всех сообщений. письма с этим TO: в поле Отправленные.

Если вы используете gmail в качестве почтового сервера для вашего приложения rails, оно автоматически сохраняет копию в отправленной почте.

...