linoreale ha scritto:
Ciao,
uso Access 2007,
ho una routine che invia email ad un destinatario preso da una combobox "id_destinatario_cd11" ed usa come mittente un nominativo ed un indirizzo email di un'altra combobox "id_mittente_cd11".
nella porzione di codice sotto se scrivo: With objMsg
...
.FROM = Me!id_mittente_cd11.Column(5)
...
tutto funziona regolarmente, solo che al destinatario compare come mittente "ufficio.pratice" e non "Dott. Mario Rossi", ovvero il nome del mittente.
Ho provato con:
With objMsg
...
.FROM = "Dott Mario Rossi <ufficio.pratiche@azienda.it>
e così funziona, ovvero il destinatario riceve la mail con il nome "Dott Mario Rossi".
Siccome il mittente lo scelgo da una combo box ho provato così:
With objMsg
...
.FROM = """Dott Mario Rossi"" <Me!id_mittente_cd11.Column(5)>"
ma il server risponde con un errore "mittente errato"
Qual'è la sintassi corretta secondo voi?
La sintassi corretta è quella che funziona! (ho scoperto la versione informatica dell'acqua calda)
Dipende tutto dall'informazione presente nella combobox dalla quale selezioni il destinatario. Se c'è solo l'indirizzo e-mail nudo e crudo ufficio . pratiche @ azienda . it anziché "Dott Mario Rossi <> " (forse mancava una chiusura di doppioapice nel codice?) non c'è codice che tenga. Quella "trasformazione" con l'anteposizione all'indirizzo del "nome" è una sorta di automatismo di Outlook in redazione manuale delle e-mail quando trova l'indirizzo (seppur nudo e crudo) nei Contatti (ed è registrato per essere visualizzato come "Nome <>"
Anzi... non vorrei che questa cosa fosse presente a livello di "registro di sistema". Mi sembra di essermi trovato in questa situazione, senza più queste integrazioni automatiche di informazioni una volta reinstallato tutto, pur avendo salvato i Contatti e gli archivi e-mail di Outlook e di aver smanovrato nelle copie del file di registro della vecchia installazione per cercare dove erano memorizzate. Sto andando a memoria. Se anche fosse, sconsiglio di accedere al registro di sistema per una cosa del genere.
In ogni caso devi modificare le caratteristiche della combobox o della tabella dalla quale prende le informazioni, aggiungendo anche la descrizione del contatto.
Eventualmente
.FROM = """Dott Mario Rossi"" <Me!id_mittente_cd11.Column(5)>" '<==no
.FROM = "Dott Mario Rossi <" & Me!id_mittente_cd11.Column(5) & ">"
però da dove prendi tutto quello che sta prima dell'indirizzo e-mail nudo e crudo? Ecco perché dicevo che devi integrare le informazioni direttamente a livello di combobox, o almeno risalire a tutte dalla combo... altrimenti vanifichi tutto il codice.
NB: non ho provato niente di quanto ho scritto. Ti fidi?