Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    Delphi Iviare Email

    Salve a tutti. Dunque il mio problema questa volta riguarda l'invio di email dalla mia applicazione delphi. Il problema non riguarda "il riuscirci",perchè grazie a del codice diffuso in rete tramite mapi o idsmtp e idmessage ce la faccio, ma il fatto è che vorrei farlo senza l'ausilio di outlook(nel caso di idsmtp se è avviato, dal mio prog delphi la posta arriva a destinazione, altrimenti no) o simili è possibile? se si come? grazie a tutti per l'eventuale aiuto

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Se usi il componente TIdSMTP, che è il client SMTP incluso nel pacchetto degli Indy Components, colloqui direttamente con un server con totale indipendenza da qualsiasi software per l'invio della posta elettronica.

    Scarica la documentazione dal sito ufficiale relativa alla libreria e a questo componente specifico, fai qualche prova tecnica e, in caso di problemi, posta il codice così vediamo come risolverli facendo chiarezza sui possibili errori.

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

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

  3. #3

    re

    ti posto bene o male il codice o quello che ne è rimasto ......


    type
    TFrmMain = class(TForm)
    BtnSend: TButton;
    IdSmtp: TIdSMTP;
    IdMsg: TIdMessage;
    MemData: TMemo;




    procedure TFrmMain.BtnSendClick(Sender: TObject);


    begin

    IdMsg.Subject := 'Subject';
    IdMsg.From.Address := '....@yahoo.it';
    IdMsg.Recipients.Add.Address := '....@yahoo.it';
    IdMsg.Body.Text := MemData.Text;



    begin
    IdSmtp.Username := '.......';
    IdSmtp.Password := '.......';
    IdSmtp.AuthenticationType := atLogin;
    end;

    IdSmtp.Host := 'smtp.mail.yahoo.it';

    try
    IdSmtp.Connect(10);


    IdSmtp.Send(IdMsg);
    except
    on E: Exception do
    begin
    IdSmtp.Disconnect();

    end;

    end;
    end;indirizzi


    Dunque considerà che su questo cod mi da un errore da intercettare perdo troppo tempo a correggierlo di conseguenza te lo posto, a differenza mia alla prima occhiata capirai dov'è il problema. Cmq mi succedeva che se inviavo email con indirizzo di cui ho un account apposito su outlook arrivavano le email se usavo altri indirizzi andavo sul web a verificare ma niente, e ne ho provato diversi. Grazie tante per l'aiuto

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463

    Re: re

    Originariamente inviato da Dalton
    ti posto bene o male il codice o quello che ne è rimasto ......
    [...]
    Dunque considerà che su questo cod mi da un errore da intercettare perdo troppo tempo a correggierlo di conseguenza te lo posto
    Non sono molto d'accordo.

    E' tuo dovere provare il codice ed indicare l'errore che ottieni, se ti viene generata un'eccezione.

    Non sempre ho il tempo di provare direttamente il codice per verificare l'esistenza di un problema e la sua origine, tra l'altro molto spesso il punto errato si trova proprio conoscendo l'eccezione generata.

    Ciò che posso garantirti, comunque, è che l'invio di email in questo caso non ha nulla a che vedere con qualsivoglia account di Outlook.

    Se non riesci a spedire email, dovrebbe anche apparire un messaggio che indica qual è il motivo.

    Comunicami l'errore segnalato e vedremo come risolverlo.

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

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

  5. #5
    ok fatto ma il problema non cambia al mio indirizzo con il quale ho un account su outlook arriva ad altri no. Posto il codice
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, ComCtrls, IdMessage, IdBaseComponent, IdComponent,
    IdTCPConnection, IdTCPClient, IdMessageClient, IdSMTP;

    type
    TForm1 = class(TForm)
    Button1: TButton;
    IdSMTP: TIdSMTP;
    IdMessage1: TIdMessage;
    RichEdit1: TRichEdit;
    procedure Button1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    begin
    IdMessage1.Subject := 'Subject';
    IdMessage1.From.Address := '.....@yahoo.it';
    IdMessage1.Recipients.Add.Address := '......@yahoo.it';
    IdMessage1.Body.Text :=richedit1.Text;
    IdSmtp.Username := '.........';
    IdSmtp.Password := '123456';
    IdSmtp.AuthenticationType := atLogin;

    IdSmtp.Host := 'smtp.mail.yahoo.it';
    IdSmtp.MailAgent := 'Delphi';

    IdSmtp.Connect(10);
    try
    IdSmtp.Send(IdMessage1);
    except
    on E: Exception do

    begin

    IdSmtp.Disconnect();
    end;
    end;
    end;
    end.

    Grazie Alka scusami se ti faccio perdere tempo!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da Dalton
    ok fatto ma il problema non cambia al mio indirizzo con il quale ho un account su outlook arriva ad altri no.
    Quale parte di Outlook non c'entra non hai compreso?

    Non è un problema di avere un account o meno su Outlook, quanto probabilmente il fatto che il server SMTP a cui fa capo quell'account non accetta messaggi indirizzati ad altri provider.

    Non ho ancora capito se ottieni un errore (un bel messaggio con una croce evidente e la descrizione di un serio problema), oppure se l'esecuzione del programma si conclude correttamente, senza errori, ma non sortisce l'effetto desiderato.

    Inoltre, nel tuo codice fai uso dell'autenticazione, ma sei sicuro che il server la supporti e che sia necessario fare un login?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  7. #7
    no il programma viene terminato correttamente, tu mi dici il provider ma il fatto che i due indirizzi che ho provato (il mio su outlook e l'atro su web yahoo mail) hanno lo stesso provider credo almeno xchè sono entrami yahoo, inoltre ho provato con un indirizzo ..@email.it ma niente perchè?

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da Dalton
    no il programma viene terminato correttamente
    Secondo me, perchè hai inserito un try...except e, nella gestione dell'errore, non hai inserito alcuna segnalazione: in questo modo, l'errore - se c'è - non si vede mai perché lo distruggi impedendo la visualizzazione di qualsiasi messaggio e non fornisci tu stesso una gestione appropriata dell'errore.

    Usa piuttosto try...finally, lasciando a Delphi il compito di intercettare e segnalare errori, garantendo comunque la disconnessione alla fine del processo.

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

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

  9. #9
    ok fatto mi dice authorization failed cosa dovrei fare?

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,463
    Originariamente inviato da Dalton
    ok fatto mi dice authorization failed cosa dovrei fare?
    Sei sicuro che serva l'autorizzazione?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

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.