Invio mail con scelta dell'account mittente

di il
13 risposte

Invio mail con scelta dell'account mittente

Intanto Buon giorno a tutti,
ho provato a cercare nel forum ma non ho trovato nulla che potesse rispondere al problema che ho:

ho fatto un programmino per gestire le telefonate in ingresso nella mia azienda, e grazie anche a suggerimenti trovati "qua e la" funziona tutto molto, salvo un problema che non riesco a risolvere.

provo a spiegarmi:
dovrei usare come account MITTENTE un indirizzo mail che trovo in un campo ben definito sulla maschera che genera la mail.
non funziona perchè mi pesca in automatico l'User del PC, che per policy aziendale non permette l'invio delle mail.

qui sotto metto il VBA che ho scritto
******************************************************************************************************************************
Private Sub Comando27_Click()
Dim ApriApp As Object ' Apre la posta
Dim ApriMail As Object ' Crea il messaggio
Dim TestoMsg As String ' contiene il testo del messaggio
Dim IndDest As String ' contiene l'indirizzo email
Dim IndMit As String ' contiene l'indirizzo del mittente


Set ApriApp = CreateObject("Outlook.Application") ' Si apre OutlooK
Set ApriMail = ApriApp.CreateItem(0) ' creo una email vuota

' Il codice è scritto in html

TestoMsg = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt'>"
TestoMsg = TestoMsg & "<html xmlns='http://www.w3.org/1999/xhtm'>"
TestoMsg = TestoMsg & "<body>"

TestoMsg = TestoMsg & "<table width='800px' border='1' cellpadding='0'>" ' Formato Tabella
TestoMsg = TestoMsg & "<tr>"
TestoMsg = TestoMsg & "<td ><p align='center'><strong>DATA Chiamata</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>ORA Chiamata</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>DESTINATARIO Chiamata</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Nome Cliente</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Nome Chiamante</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Numero Telefono</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Motivo Chiamata</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Note</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Da Fare</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "<td ><p align='center'><strong>Priorità</strong></p></td>" ' Intestazione Tabella
TestoMsg = TestoMsg & "</tr>"
TestoMsg = TestoMsg & "<tr>"
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Data_Oggi, "dd/mm/yyyy") & "</p></td>" ' Campo data della chiamata
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Ora_Adesso, "hh:mm") & "</p></td>" ' Campo ora della chiamata
TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Nome_Destinatario & "</p></td>" ' Campo NOme della persona mit.D.
TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Nome_Ditta & "</p></td>" ' Campo Nome della azianda che ha chiamato
TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Format(Nome_Chiamante, "Standard") & "</strong></p></td>" ' Nome del chiamante
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Numero_Telefono) & "</font></p></td>" ' Campo Numero telefono chiamante
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Motivo_Chiamata) & "</font></p></td>" ' Campo Motivo Chiamata
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Note) & "</font></p></td>" ' Campo Note
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Motivo) & "</font></p></td>" ' Campo azione da fare con la chiamata
TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Priorità) & "</font></p></td>" ' Campo Tipo di priorità
TestoMsg = TestoMsg & "</tr>"
TestoMsg = TestoMsg & "</table>"
TestoMsg = TestoMsg & "<br />"

IndMit = Email_Centralinista ' indirizzo mail della Centralinista


IndDest = e_mail ' Variabile contenente indirizzo email

With ApriMail






.To = IndDest
.CC = ""
.BCC = ""
.Subject = "CHIAMATA TELEFONICA"
.HTMLBody = TestoMsg
.Display

End With
End Sub
******************************************************************************************
grazie in anticipo
Eolo

13 Risposte

  • Re: Invio mail con scelta dell'account mittente

    Eolo ha scritto:


    dovrei usare come account MITTENTE un indirizzo mail che trovo in un campo ben definito sulla maschera che genera la mail
    In tutto il codice non leggo nulla che fa riferimento a campi della tua maschera. Mi aspetto che:
    1. Tu hai una maschera M aperta
    2. Dentro questa maschera c'è un campo [email]
    3. Quindi per richiamare il valore di questo campo devi scrivere
    Me![email]
    oppure
    [Forms]![M]![email]
  • Re: Invio mail con scelta dell'account mittente

    Ciao Osvaldo
    in realtà i campi "Campo data della chiamata" + "Campo ora della chiamata" etc...
    li prendo direttamente dalla maschera.
    ho anche un campo che si chiama " Email_Centralinista" e l'ho associata alla variabile IndMit.

    spero di essermi espresso meglio
    grazie nuovamente
  • Re: Invio mail con scelta dell'account mittente

    1. Come da regolamento impara a selezionare il codice VBA e poi clicca sul tasto Code per farlo apparire con i tipici caratteri monotype più familiari ai programmatori
    2. Tu hai dichiarato una variabile IndMit di tipo String, ma non vedo da nessuna parte l'assegnazione (se c'è indicamela)
    3. Sei sicuro che il codice html (che hai scritto) sia compatibile con il VBA?
  • Re: Invio mail con scelta dell'account mittente

    Ti ringrazio Osvaldo,
    verifico e ti faccio sapere.
    intanto per ora grazie a e buon lavoro
  • Re: Invio mail con scelta dell'account mittente

    Ciao Osvaldo,
    ho provato a seguire il tuo consiglio, evidenziare il VBA ma il tasto Code NON lo trovo...
    sai suggerirmi come mai??

    porta pazienza ma sono un programmatore di access "fai da te"
  • Re: Invio mail con scelta dell'account mittente

    Eolo ha scritto:


    ho provato a seguire il tuo consiglio, evidenziare il VBA ma il tasto Code NON lo trovo...sai suggerirmi come mai??
    Sotto il rettangolo dove scrivi il testo per i messaggi, noterai un tasto con su scritto "Editor completo & Anteprima". Cliccalo e appariranno in alto vari tasti di formattazione. Tra i tanti c'è anche Code.
  • Re: Invio mail con scelta dell'account mittente

    Private Sub Comando27_Click()
    Dim ApriApp As Object ' Apre la posta
    Dim ApriMail As Object ' Crea il messaggio
    Dim TestoMsg As String ' contiene il testo del messaggio
    Dim IndDest As String ' contiene l'indirizzo email


    Set ApriApp = CreateObject("Outlook.Application") ' Si apre OutlooK
    Set ApriMail = ApriApp.CreateItem(0) ' creo una email vuota

    ' Il codice è scritto in html

    TestoMsg = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt'>"
    TestoMsg = TestoMsg & "<html xmlns='http://www.w3.org/1999/xhtm'>"
    TestoMsg = TestoMsg & "<body>"

    TestoMsg = TestoMsg & "<table width='800px' border='1' cellpadding='0'>" ' Formato Tabella
    TestoMsg = TestoMsg & "<tr>"
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>DATA Chiamata</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>ORA Chiamata</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>DESTINATARIO Chiamata</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Nome Cliente</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Nome Chiamante</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Numero Telefono</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Motivo Chiamata</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Note</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Da Fare</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "<td ><p align='center'><strong>Priorità</strong></p></td>" ' Intestazione Tabella
    TestoMsg = TestoMsg & "</tr>"
    TestoMsg = TestoMsg & "<tr>"
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Data_Oggi, "dd/mm/yyyy") & "</p></td>" ' Campo data della chiamata
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Ora_Adesso, "hh:mm") & "</p></td>" ' Campo ora della chiamata
    TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Nome_Destinatario & "</p></td>" ' Campo NOme della persona mit.D.
    TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Nome_Ditta & "</p></td>" ' Campo Nome della azianda che ha chiamato
    TestoMsg = TestoMsg & "<td><p align='center'><strong>" & Format(Nome_Chiamante, "Standard") & "</strong></p></td>" ' Nome del chiamante
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Numero_Telefono) & "</font></p></td>" ' Campo Numero telefono chiamante
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Motivo_Chiamata) & "</font></p></td>" ' Campo Motivo Chiamata
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Note) & "</font></p></td>" ' Campo Note
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Motivo) & "</font></p></td>" ' Campo azione da fare con la chiamata
    TestoMsg = TestoMsg & "<td><p align='center'>" & Format(Priorità) & "</font></p></td>" ' Campo Tipo di priorità
    TestoMsg = TestoMsg & "</tr>"
    TestoMsg = TestoMsg & "</table>"
    TestoMsg = TestoMsg & "<br />"



    IndDest = e_mail ' Variabile contenente indirizzo email

    With ApriMail


    .To = IndDest
    .CC = ""
    .BCC = ""
    .Subject = "CHIAMATA TELEFONICA"
    .HTMLBody = TestoMsg
    .Display

    End With
    End Sub
  • Re: Invio mail con scelta dell'account mittente

    Grazieeeeee...
  • Re: Invio mail con scelta dell'account mittente

    Attento, tutto il testo del codice deve stare DENTRO
    .
  • Re: Invio mail con scelta dell'account mittente

    Eolo ha scritto:


    Grazieeeeee...
    IndDest = e_mail 'Variabile contenente indirizzo email

    Per me è qui l'errore....non attribuisci il valore

    Se e_mail e il nome del controllo della maschera devi mettere
    IndDest = ME.e_mail
    altrimenti verifica il nome del controllo e metti
    IndDest = ME.nomecontollodellatuamaschera
    PS per mettere il codice formattato deve essere compreso tra code e /code tu li hai messi entrambi all'inizio
  • Re: Invio mail con scelta dell'account mittente

    Ciao Maumauro,
    ti ringrazio del suggerimento, ma il problema io ce l'ho sull'indirizzo del mittente, IndMit
  • Re: Invio mail con scelta dell'account mittente

    Per IndMit devi implementare lo stesso ragionamento fatto per IndDest.
  • Re: Invio mail con scelta dell'account mittente

    Eolo ha scritto:


    Ciao Maumauro,
    ti ringrazio del suggerimento, ma il problema io ce l'ho sull'indirizzo del mittente, IndMit
    Azz... Hai ragione ma il concetto è identico
    IndMit=Me.Nomecontrollosullatuamaschera
    Una volta assegnato IndMit però lo devi utilizzare... Nel tuo codice che hai postato non lo utilizzi
Devi accedere o registrarti per scrivere nel forum
13 risposte