Попытка установить идентификатор сообщения, в ответ на, и т.д. … в ActionMailer

Я работаю над приложением, которое должно смочь отослать почтовые обновления и затем направить ответ назад на исходный объект.

Все электронные письма прибудут в единственный адрес (это не может измениться, к сожалению), и я должен смочь определить, куда они идут. Моя начальная буква думала, устанавливал идентификатор сообщения для объекта так, чтобы это возвратилось как Ссылочный заголовок.

какие-либо идеи о том, как выполнить это с ActionMailer?

1
задан Ryan 28 May 2010 в 00:56
поделиться

1 ответ

НАКОНЕЦ нашла.

Во-первых, проблема: 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 немного затруднил отмену значения по умолчанию.

Надеюсь, это избавит кого-то от потраченного впустую дня (исходя из собственного опыта; -)

2
ответ дан 3 September 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: