adnaner
Messages postés26Date d'inscriptionvendredi 10 septembre 2010StatutMembreDernière intervention 5 juillet 2011
-
2 mai 2011 à 16:45
adnaner
Messages postés26Date d'inscriptionvendredi 10 septembre 2010StatutMembreDernière intervention 5 juillet 2011
-
8 mai 2011 à 15:27
Bonjour,
comment on fait pour envoyer un mail avec delphi?
voici l'un des codes que g tester mais je n'arrive pas a envoyer un email!
unit SendForm;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus,
StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls,
IdComponent, IdTCPConnection, IdTCPClient,
IdMessageClient, IdSMTP, IdBaseComponent, IdMessage;
type
TMainForm = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Label1: TLabel;
eName: TEdit;
Label2: TLabel;
eSubject: TEdit;
Label3: TLabel;
BbtnAddToList: TButton;
ListAddr: TListBox;
BtnRemove: TButton;
Label5: TLabel;
eFrom: TEdit;
BtnSendAll: TButton;
eServer: TEdit;
MailMessage: TIdMessage;
Mail: TIdSMTP;
Label4: TLabel;
Label6: TLabel;
eUserName: TEdit;
Password: TLabel;
ePassword: TEdit;
reMessageText: TRichEdit;
ListLog: TListBox;
Label7: TLabel;
Label8: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BtnSendAllClick(Sender: TObject);
procedure BbtnAddToListClick(Sender: TObject);
procedure BtnRemoveClick(Sender: TObject);
procedure MailConnected(Sender: TObject);
procedure MailDisconnected(Sender: TObject);
procedure MailStatus(axSender: TObject; const axStatus: TIdStatus;
const asStatusText: String);
procedure MailWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure MailWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
private
FileName: string;
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
procedure TMainForm.FormCreate(Sender: TObject);
begin
Application.Title:='Simple Mail';
FileName:=ChangeFileExt(Application.ExeName, '.txt');
try
ListAddr.Items.LoadFromFile(FileName);
except
ListAddr.Items.SaveToFile(FileName);
end;
ListLog.Clear;
ListLog.Items.Add('Addresses: '+IntToStr(ListAddr.Items.Count));
ListAddr.ItemIndex:=0;
end;
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ListAddr.Items.SaveToFile(FileName);
end;
const
BccInMsg = 30;
procedure TMainForm.BtnSendAllClick(Sender: TObject);
var
nItem: integer;
Res: Word;
begin
if ListAddr.Items.Count=0
then
begin
ShowMessage('Ñïèñîê ïîëó÷àòåëåé ïóñò!');
Exit;
end;
Res:=MessageDlg('Start sending from item '+
IntToStr(ListAddr.ItemIndex+1)+' ('+
ListAddr.Items [ListAddr.ItemIndex]+')?'#13+
'Èëè íå íà÷èíàòü ñ ïåðâîãî àäðåñà.', mtConfirmation, [mbYes, mbNo, mbCancel], 0);
if Res=mrCancel
then Exit;
if Res=mrYes
then nItem:=ListAddr.ItemIndex
ItemIndex
else nItem:=0;
Mail.Host:=eServer.Text;
Mail.Username:=eUserName.Text;
if ePassword.Text<>''
then
begin
Mail.Password:=ePassword.Text;
Mail.AuthenticationType:=atLogin;
end;
Mail.Connect;
try
MailMessage.From.Name:=eFrom.Text;
MailMessage.Subject:=eSubject.Text;
MailMessage.Body.SetText(reMessageText.Lines.GetText);
MailMessage.Body.Insert(0,'Hello!');
while nItem<ListAddr.Items.Count do
begin
Application.ProcessMessages;
ListAddr.ItemIndex:=nItem;
MailMessage.Body[0]:='Hello "'+ListAddr.Items[nItem]+'"!';
MailMessage.Recipients.EMailAddresses:=ListAddr.Items[nItem];
Mail.Send(MailMessage);
inc(nItem);
end;
finally
Mail.Disconnect;
end;
end;
procedure TMainForm.BbtnAddToListClick(Sender: TObject);
begin
ListAddr.ItemIndex:=ListAddr.Items.Add(eName.Text);
ListLog.Clear;
ListLog.Items.Add('Addresses: '+IntToStr(ListAddr.Items.Count));
end;
procedure TMainForm.BtnRemoveClick(Sender: TObject);
begin
eName.Text:=ListAddr.Items[ListAddr.ItemIndex];
ListAddr.Items.Delete(ListAddr.ItemIndex);
ListLog.Clear;
ListLog.Items.Add('Addresses: '+IntToStr(ListAddr.Items.Count));
end;
procedure TMainForm.MailConnected(Sender: TObject);
begin
ListLog.Items.Add('Connected to host...');
end;
procedure TMainForm.MailDisconnected(Sender: TObject);
begin
ListLog.Items.Add('Disconnected from host...');
end;
procedure TMainForm.MailStatus(axSender: TObject;
const axStatus: TIdStatus; const asStatusText: String);
begin
ListLog.Items.Add(asStatusText);
end;
procedure TMainForm.MailWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
ListLog.Items.Add('Sending to: '+MailMessage.Recipients.EMailAddresses);
end;
procedure TMainForm.MailWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ListLog.Items.Add('Done...');
end;
end.
je pense que le problème et dans le serveur smtp que je ne connais pas ce que ci!
j'ai inscrit ici et on ma donné les information suivant:
------------------------
Serveur SMTP:
in.mailjet.com
cs_MAURICIO
Messages postés2106Date d'inscriptionmardi 10 décembre 2002StatutModérateurDernière intervention15 décembre 20145 3 mai 2011 à 10:34
Salut,
il y a tant de méthodes! On en a discuté plusieurs fois et il suffit de chercher: passant par Outlook, via MAPI ou bien mon préféré Indy mais aussi le plus compliqué.
adnaner
Messages postés26Date d'inscriptionvendredi 10 septembre 2010StatutMembreDernière intervention 5 juillet 2011 3 mai 2011 à 14:19
salut,
merci pour ta repende mauricio, le problème né pas dans les codes avec mes recherche j'ai trouvé des exemples de comment envoyé un e-mail avec Outlook, MAPI et Indy et..., mais le problème est que je n'arrive pas à envoyer un e-mail avec tous les exemples que j'ai trouvé,seuls les exemples de Outlook, MAPI qui marche, mais ce de Indy ne marche pas il ma affiche des erreur de genre socket error #10060 connection timed out.
et l'un des code que j'ai trouver se trouve plus haut mais je n'arrive pas a me connecter avec le serveur smtp!
merci pour vous réponse.