Для предотвращения фишинга некоторые почтовые серверы не позволяют перезаписывать From.
psycopg2
добавил метод в версии 2.7, которой это кажется: http://initd.org/psycopg/docs/extensions.html#psycopg2.extensions.quote_ident
from psycopg2.extensions import quote_ident
with psycopg2.connect(<db config>) as conn:
with conn.cursor() as curs:
ident = quote_ident('foo', curs)
, Если Вы получаете ошибку как: TypeError: argument 2 must be a connection or a cursor
, попробуйте также:
ident = quote_ident('foo', curs.cursor)
# or
ident = quote_ident('food', curs.__wrapper__)