Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326

    [delphi] invio email con allegati

    Ciao,

    da un programma devo inviare una email con file allegati tramite il client di posta predefinito.

    non capisco come devo fare per allegare il/i file....

    per avviare il client di posta faccio cosi:

    AText := 'mailto:indirizzo@nomesito.it';
    ShellExecute(0, 'OPEN', PChar(AText), nil, nil, SW_SHOWMAXIMIZED);

    come devo fare per aggiungere l'allegato?

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    c'e' qualc'uno che mi puo' aiutare???

    come fa winzip a 'comprimi ed invia email'?

    come fa Acrobat ad aprire il client di posta allegando il suo file PDF?

    grazie

  3. #3
    Utente di HTML.it L'avatar di danz67
    Registrato dal
    May 2005
    Messaggi
    213
    Ciao,
    io per inviare email, anche con allegati, utilizzo i componenti indy, se vai sul sito ufficiale trovi delgi esempi per capirne il funzionamento.

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    La sintassi mailto: non supporta l'indicazione di allegati.

    Per ottenere quanto chiedi, è necessario usare MAPI se si vuole inviare il messaggio con il supporto di un client valido per questa architettura, oppure adottare - come già suggerito - una libreria, come Indy Components, per gestire autonomamente il colloquio con un server SMTP per la spedizione di un messaggio personalizzato, con testo e allegati.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Alcuni client supportano le sintassi:

    codice:
    mailto:pippo@pluto.it?subject=Ciao da Topolona&file="c:\allegato.zip"
    o

    codice:
    mailto:pippo@pluto.it?subject=Ciao da Topolona&attachment="c:\allegato.zip"
    Ma per queste cose è meglio usare MAPI:

    codice:
     with TMAPIMail.Create(Self) do
        try
          Subject := 'test';
          Body := 'Hi,'#13#10#13#10'with best regards, Mike Shkolnik';
          Recipients.Add('mshkolnik@scalabium.com');
          Recipients.Add('CC:mshkolnik@yahoo.com');
          Recipients.Add('BCC:mshkolnik@mail.ru');
          Attachments.Add('c:\autoexec.bat');
          EditDialog := True;
          Send
        finally
          Free
        end;
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da pallinopinco
    Alcuni client supportano le sintassi [...]
    Non ne ero a conoscenza, ma sembrano più implementazioni private/personalizzate del software specifico che risponde al protocollo, che non elementi previsti dallo "standard" che devono essere rispettati da tutti.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    ma sembrano più implementazioni private/personalizzate del software specifico che risponde al protocollo,
    Infatti lo sono...

    Se si usa Outlook (e pochi altri client) quella sintassi potrebbe funzionare, dunque se dovessi scegliere un approccio standard&affidabile userei MAPI senza esitazioni!
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    ciao e grazie per l'aiuto!

    non riuscivo a farlo funzionare e ottenevo MAPI Error 3. Logon Failure.

    questo dipendeva dal fatto che non era definito un profilo nell'account di posta elettronica...

    adessso sembra tutto ok!

    grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    Originariamente inviato da pallinopinco
    Alcuni client supportano le sintassi:

    codice:
    mailto:pippo@pluto.it?subject=Ciao da Topolona&file="c:\allegato.zip"
    o

    codice:
    mailto:pippo@pluto.it?subject=Ciao da Topolona&attachment="c:\allegato.zip"
    Ma per queste cose è meglio usare MAPI:

    codice:
     with TMAPIMail.Create(Self) do
        try
          Subject := 'test';
          Body := 'Hi,'#13#10#13#10'with best regards, Mike Shkolnik';
          Recipients.Add('mshkolnik@scalabium.com');
          Recipients.Add('CC:mshkolnik@yahoo.com');
          Recipients.Add('BCC:mshkolnik@mail.ru');
          Attachments.Add('c:\autoexec.bat');
          EditDialog := True;
          Send
        finally
          Free
        end;
    ciao

    io dovrei inviare N mail e vorrei che queste fossero inviate solo premendo un apposito pulsante del mio programma....

    dapprima setto:
    EditDialog := False;
    in modo tale che la mail inviata a outlook non venga aperta per eventali modifiche...ok.

    ma viene chiesta la conferma da parte di outlook se inviare o meno l'email.

    c'e' una maniera per evitare questa richiesta?

    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.