Generazione mail

di Anonimizzato30302 il
7 risposte
Buona sera,

volevo sapere se ci fosse della documentazione dove spiegano anche con esempi la generazione di un mail tramite codice.
sotto questo punto di vista sono davvero alla base.

grazie mille

7 Risposte

  • f.developer ha scritto:


    volevo sapere se ci fosse della documentazione dove spiegano anche con esempi la generazione di un mail tramite codice.
    sotto questo punto di vista sono davvero alla base.
    Usando la libreria Indy Components, si può creare un messaggio e-mail generico con il componente TIdMessage e, successivamente, inviarlo tramite il componente TIdSMTP, che rappresenta un client per server di recapito posta che usano l'omonimo protocollo SMTP.

    In questo articolo ci sono spiegazioni ed esempi di codice.

    Ciao!
  • Ho un problema riguardo un sti usando outlook ed ogni voltami mostra un errore di permessi.
    come posso eliminare il problema da codice o su outlook fargli consentire sempre
  • f.developer ha scritto:


    Ho un problema riguardo un sti usando outlook ed ogni voltami mostra un errore di permessi.
    come posso eliminare il problema da codice o su outlook fargli consentire sempre
    Non è chiaro quello che hai scritto, in particolare non capisco qual è l'errore preciso, qual è la configurazione che stai utilizzando e di quale codice stiamo parlando.
  • f.developer ha scritto:


    Ho un problema riguardo un sti usando outlook ed ogni voltami mostra un errore di permessi.
    come posso eliminare il problema da codice o su outlook fargli consentire sempre
    se vuoi ti posso dare il sorgente di un programma che ho realizzato io.
  • In passato ci ho perso un bel po' di tempo anche io, prova con questa:
    
                         xMail : String;
                         xCC   : String;
                         xSubj : String;
                         xBody : String;
                         xAttch: Array of String;
                         
    PROCEDURE RunOutlook;//compilo outlook
        const olMailItem = $00000000;
          var Outlook    : OleVariant;
              vMailItem  : Variant;
              Var1       : Byte;
        BEGIN
              //verifica installazione outlook
              Try Outlook := GetActiveOleObject('Outlook.Application');//se già aperto
                  Except
                  Screen.Cursor := crHourGlass;
                  Try Outlook := CreateOleObject('Outlook.Application');//prova ad aprirlo
                      Except//non installato
                      Screen.Cursor := crDefault;
                      //RunDefShell;//lancio il default
                      Exit;
                  End;
              End;
    
              //sostituisce il carattere di invio
              xBody := StringReplace(xBody,'%0D%0A',#13#10,[rfReplaceAll,rfIgnoreCase]);
    
              //compila outlook e lancia
              Try Try vMailItem := Outlook.CreateItem(olMailItem);
                      vMailItem.Recipients.Add(xMail);
                      vMailItem.CC := xCC;
                      vMailItem.Subject := xSubj;
                      vMailItem.Body := xBody;
    
                      If FilesCount>0 Then //allegati
                         For Var1:=0 To FilesCount-1 Do
                             vMailItem.Attachments.Add(xAttch[Var1]);
    
                      //vMailItem.Send;//invia e-mail automaticamente
                      //Attendi(0,500);
                      vMailItem.Display(False); //(true) mostra e attende
                      Finally
                      Try VarClear(Outlook); Except End;
                      Screen.Cursor := crDefault;
                  End;
                  Except
              End;
        END;
  • atticus ha scritto:


    In passato ci ho perso un bel po' di tempo anche io, prova con questa:
    
    .....
              Try VarClear(Outlook); Except End;
    .....
     
    Non capisco il motivo per cui viene creato un blocco try except e poi non viene gestisto, in questo modo in caso di errore non si saprà mai se tutto è filato liscio oppure no.
    Nick.
  • Sinceramente non ricordo perché l'ho messo, comunque puoi gestirlo come vuoi, o lo togli oppure fai sollevare una eccezione. Può darsi che a volte dava problemi nel liberare la risorsa
Devi accedere o registrarti per scrivere nel forum
7 risposte