Я работаю над приложением, которое должно смочь отослать почтовые обновления и затем направить ответ назад на исходный объект.
Все электронные письма прибудут в единственный адрес (это не может измениться, к сожалению), и я должен смочь определить, куда они идут. Моя начальная буква думала, устанавливал идентификатор сообщения для объекта так, чтобы это возвратилось как Ссылочный заголовок.
какие-либо идеи о том, как выполнить это с ActionMailer?
НАКОНЕЦ нашла.
Во-первых, проблема: ActionMailer вызывает функцию ready_to_send внутри TMail при отправке с использованием smtp, которая, в свою очередь, вызывает функцию add_message_id, которая отменяет все, что вы туда поместили.
Решение:
в TMail есть недокументированный (насколько я могу судить) метод под названием enforced_message_id = (val)
. использование этого INSTEAD message_id гарантирует, что add_message_id не перезапишет ваши значения. Например, вы можете:
mail = MyMailer.create_mail_function(values)
mail.enforced_message_id = '<my_not_proper_message_id>'
MyMailer.deliver(mail)
Вы должны быть осторожны с этим, потому что message_id может быть сложной задачей. Они должны быть уникальными и действительными. Я предполагаю, что есть причина, по которой TMail немного затруднил отмену значения по умолчанию.
Надеюсь, это избавит кого-то от потраченного впустую дня (исходя из собственного опыта; -)