Периодически возникает необходимость пользователю A отправить письмо от имени B (emailB), с ответом на адрес C (emailC). Баян, конечно, но рецепт не очевиден.
Итак, используется всего два поля:
Пока все понятно, вопрос что за фикс принципал? Вот тут первая часть магии. Чтобы Notes корректно генерировал письмо и гугл и ему подобные не ругались
Внимательный читатель обратит внимание на символ '>' в коде. И, да, это вторая магия. Чтобы получатель не видел вторую собаку в адресе отправителя имеет смысл все адреса подать в формате RFC 822.
Бонус: немного ричтекст магии.
Есть: оригинальный документ с вложениями (аттачами).
Хочу: открыть новый документ с тем же содержимым в UI. В ходе работы/просмотра я могу передумать и отказаться от сохранения документа.
Технически обычно при копировании ричтекста с аттачментами из одного дока в другой сохраняют второй документ, иначе все вложения ломаются/теряются.
Альтернатива: doc.computeWithForm. Важно: поле Form в этом новом doc должно отсутствовать.
Итак, используется всего два поля:
Код:
docMemo.Principal = fixPrincipal( emailB )
docMemo.ReplyTo = emailC
требуется в конец адреса приклеить домен товарища A, по крайней мере где-то в интернете я такой хинт нашел. Идея искать/хранить где-то домен мне сразу не понравилась, поэтому была сделана попытка использовать только собаку от него. Чудо, работает.Undeliverable mail: 'From' address is not specified
Код:
'For external recipients like gmail is important to add a Domain sign at the end of email address
'otherwise Undeliverable mail: 'From' address is not specified
Private Function fixPrincipal( principal As String ) As String
On Error GoTo catch
If InStr( principal, {>} ) > 0 Then
fixPrincipal = Replace( principal, {>}, {@>} )
GoTo finally
End If
fixPrincipal = principal & {@}
GoTo finally
catch:
throwException
finally:
End Function
B и C могут быть одним и тем же адресом.Vasili Pupkin <v.pupkin@pupltd.com>
Бонус: немного ричтекст магии.
Есть: оригинальный документ с вложениями (аттачами).
Хочу: открыть новый документ с тем же содержимым в UI. В ходе работы/просмотра я могу передумать и отказаться от сохранения документа.
Технически обычно при копировании ричтекста с аттачментами из одного дока в другой сохраняют второй документ, иначе все вложения ломаются/теряются.
Альтернатива: doc.computeWithForm. Важно: поле Form в этом новом doc должно отсутствовать.