Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENVOI DE MAIL ANONYME (SANS COMPOSANT, NI DLL)


Information sur la source

Attention: ce code a été marqué comme suspect par un admin, il peut donc être dangereux.
Ce code a été laissé sur le site dans un but pédagogique, ne l'exécutez pas si vous ne comprenez pas son contenu!
Catégorie :Réseau & Internet Classé sous : anonymail, anonymailer, smtp, pop3, emailanonyme Niveau : Initié Date de création : 15/02/2006 Date de mise à jour : 02/03/2006 10:16:31 Vu / téléchargé: 64 721 / 2 420

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Donc comme sont nom l'indique ce programme permet d'envoyer des mails de façon anonyme, en se connectant directment à un serveur SMTP à l'aide d'une socket.

Utilisation et Explication :
----------------------------

Pour l'utilisation de ce soft, c'est trivial, il suffit de remplir les champs demandés...

Par contre un fichier est requis, dans cette archive il est nommé "mail.txt" et il contient la trame SMTP qui sera envoyé au serveur.

Pour pouvoir envoyer votre mail, votre message devra être intégré à cette trame, c'est le logiciel qui le fait pour vous, mais çà sera à vous de lui dire à quel endroit,
pour celà il y à deux balise :

la balise #TEXT qui permet d'inserer votre message dans la trame à l'endroit dit et la balise #HTML qui fait la même chose mais convertie votre message au format HTML, si la trame
est au format HTML.

NB : Pour insérer des commentaires dans le fichier trame,
mettez un "!" devant la ligne.

Pourquoi ? parce qu'une trame externe permet d'adapté le
courrier au type de serveur auquel vous vous adressé, et
permet de personalisé votre configuration sans avoir à
modifier le programme.

Donc votre message ne doit donc pas être mis dans le fichier trame, mais tapé dans le programme à l'endroit dit, mais
mettez bien dans le fichier de trame la balise #TEXT ou #HTML
(selon format) à l'endroit où devra être placé votre message.

Pour définir ce fichier dans le programme il suffit de mettre
le chemin du fichier trame dans le champ : "Fichier Trame".

Le Zip :
--------
Le zip contient :
- les sources du programme bien evidemment.
- Un fichier mail.txt (important) qui sera la trame SMTP.
- Un fichier lisezmoi.txt qui recapitule tous çà.
- Et deux fichier .reg qui sont des préconfigurations pour les NewB!

PS : Par contre, je ne fourni pas l'exe !

Attention :
-----------

- NB : Comme à l'habitude j'informe à tous que ce programme à été conçu afin de partager des connaissances et non pas d'en abuser pour faire des conneries.
Je dégage toute responsabilité quant à son utilisation.

 

Source

  • { **************************************************************
  • .
  • /!\ Cette source est plus ancienne que le contenu du zip !
  • **************************************************************}
  • unit ElgMail;
  • interface
  • uses Windows, Classes, SysUtils, ScktComp, StdCtrls, Math;
  • type EtatConnect = ( helo, mailto, rcptto, data, trame, quit, sckclose );
  • type TElgAnonyme = class( TClientSocket )
  • private
  • sEmetteur : string;
  • sDestinataire : string;
  • sLabelEmetteur : string;
  • sLabelDestinataire : string;
  • sSujet : string;
  • sMessage : TStrings;
  • HTMLFormat : boolean;
  • ServeurSMTP : string;
  • Instance : EtatConnect;
  • Terminer : boolean;
  • Debbuger : TCustomMemo;
  • function AutoIP : string;
  • public
  • constructor Create( sServeur : string ); overload;
  • constructor Create( sServeur : string; iPort : Integer ); overload;
  • property AdresseDestinataire : string write sDestinataire;
  • property AdresseEmetteur : string write sEmetteur;
  • property NomDestinataire : string write sLabelDestinataire;
  • property NomEmetteur : string write sLabelEmetteur;
  • property Sujet : string write sSujet;
  • property Mail : TStrings write sMessage;
  • property FormatHTML : boolean write HTMLFormat;
  • property Terminated : boolean read Terminer;
  • procedure ClientRead( Sender: TObject; Socket: TCustomWinSocket );
  • procedure ClientWrite( Sender: TObject; Socket: TCustomWinSocket );
  • procedure ClientConnect( Sender: TObject; Socket: TCustomWinSocket );
  • procedure ClientDisconnect( Sender: TObject; Socket: TCustomWinSocket );
  • procedure ClientError( Sender: TObject; Socket: TCustomWinSocket;
  • ErrorEvent: TErrorEvent; var ErrorCode: Integer );
  • procedure AssignToDebug( MemoDebug : TCustomMemo );
  • procedure Envoyer;
  • end;
  • const
  • PORT_SMTP = 25;
  • CRLF = #13#10;
  • CR = #13;
  • LF = #10;
  • implementation
  • constructor TElgAnonyme.Create( sServeur : string );
  • begin
  • inherited Create(nil);
  • OnConnect := ClientConnect;
  • OnDisconnect := ClientDisconnect;
  • OnError := ClientError;
  • OnRead := ClientRead;
  • OnWrite := ClientWrite;
  • Port := PORT_SMTP;
  • Host := sServeur;
  • ServeurSMTP := sServeur;
  • Instance := helo;
  • Terminer := False;
  • end;
  • constructor TElgAnonyme.Create( sServeur : string; iPort : Integer );
  • begin
  • inherited Create(nil);
  • Self.OnConnect := ClientConnect;
  • Self.OnDisconnect := ClientDisconnect;
  • Self.OnError := ClientError;
  • Self.OnRead := ClientRead;
  • Port := iPort;
  • Host := sServeur;
  • ServeurSMTP := sServeur;
  • Instance := helo;
  • Terminer := False;
  • end;
  • procedure TElgAnonyme.AssignToDebug( MemoDebug : TCustomMemo );
  • begin
  • Debbuger := MemoDebug;
  • end;
  • procedure TElgAnonyme.Envoyer();
  • begin
  • if ( ( Trim( sEmetteur ) = '' ) or ( Trim( sDestinataire ) = '' ) ) then Exit;
  • Open;
  • end;
  • procedure TElgAnonyme.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
  • begin
  • Terminer := False;
  • Debbuger.Lines.Add( 'SOCKET > Connection établie' );
  • end;
  • procedure TElgAnonyme.ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
  • begin
  • Terminer := True;
  • Debbuger.Lines.Add( 'SOCKET > Connection terminée' );
  • end;
  • procedure TElgAnonyme.ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
  • var
  • ErrorMessage : String;
  • begin
  • Debbuger.Lines.Add('ERREUR > Connexion impossible');
  • Close;
  • Terminer := True;
  • end;
  • procedure TElgAnonyme.ClientRead( Sender: TObject; Socket: TCustomWinSocket );
  • var
  • ServeurReponse : string;
  • MessageLine : Integer;
  • begin
  • ServeurReponse := Socket.ReceiveText;
  • Debbuger.Lines.Add('Serveur > ' + ServeurReponse );
  • if ( (Copy(ServeurReponse, 1, 1) = '2') or (Copy(ServeurReponse, 1, 1) = '3') ) then
  • begin
  • case ( Instance ) of
  • helo : Socket.SendText('EHLO ' + ServeurSMTP + CRLF);
  • mailto : Socket.SendText('MAIL FROM:<' + sEmetteur + '>' + CRLF);
  • rcptto : Socket.SendText('RCPT TO:<' + sDestinataire + '>' + CRLF);
  • data : Socket.SendText('DATA' + CRLF);
  • trame : begin
  • Socket.SendText('Return-Path: <' + sEmetteur + '>' + LF);
  • Socket.SendText('Delivered-To: online.fr-' + sDestinataire + LF);
  • Socket.SendText('X-Originating-IP: [' + AutoIP + ']' + LF);
  • Socket.SendText('X-Originating-Email: [' + sEmetteur + ']' + LF);
  • Socket.SendText('X-Sender: ' + sEmetteur + LF);
  • Socket.SendText('Subject: ' + sSujet + LF);
  • Socket.SendText('From: "' + sLabelEmetteur + '" ' + '<' + sEmetteur + '>' + LF);
  • Socket.SendText('To: "' + sLabelDestinataire + '" ' + '<' + sDestinataire + '>' + LF);
  • Socket.SendText('Bcc:' + LF);
  • Socket.SendText('Date: ' + DateToStr(Date) + LF);
  • Socket.SendText('Mime-Version: 1.0' + LF);
  • if ( HTMLFormat ) then
  • begin
  • Socket.SendText('Content-Type: text/html; charset=iso-8859-1; format=flowed' + LF);
  • Socket.SendText('<html><body><div>' + LF);
  • for MessageLine := 0 to (sMessage.Count -1) do Socket.SendText( '<font>' + sMessage.Strings[MessageLine] + '</font>' + LF);
  • Socket.SendText('</div></body></html>' + LF);
  • end else begin
  • Socket.SendText('Content-Type: text/plain; charset=ISO-8859-1' + LF );
  • for MessageLine := 0 to (sMessage.Count -1) do Socket.SendText( sMessage.Strings[MessageLine] + LF);
  • end;
  • Socket.SendText( CRLF + '.' + CRLF );
  • end;
  • quit : Socket.SendText('QUIT' + CRLF);
  • sckclose: Close;
  • end;
  • Inc(Instance);
  • end else
  • begin
  • Socket.SendText('QUIT' + CRLF);
  • Socket.Close;
  • Terminer := True;
  • end;
  • end;
  • function TElgAnonyme.AutoIP : string;
  • begin
  • Randomize;
  • Result := IntToStr(RandomRange(11, 200)) +
  • '.' + IntToStr(RandomRange(11, 200)) +
  • '.' + IntToStr(RandomRange(11, 200)) +
  • '.' + IntToStr(RandomRange(11, 200));
  • end;
  • end.
{  **************************************************************
 .
/!\  Cette source est plus ancienne que le contenu du zip !

**************************************************************}

unit ElgMail;

interface

uses Windows, Classes, SysUtils, ScktComp, StdCtrls, Math;


  type EtatConnect = ( helo, mailto, rcptto, data, trame, quit, sckclose );


  type TElgAnonyme = class( TClientSocket )

    private


      sEmetteur     : string;
      sDestinataire : string;
      sLabelEmetteur     : string;
      sLabelDestinataire : string;
      sSujet        : string;
      sMessage      : TStrings;
      HTMLFormat    : boolean;
      ServeurSMTP   : string;
      Instance      : EtatConnect;
      Terminer      : boolean;
      Debbuger      : TCustomMemo;
      function  AutoIP : string;

    public

      constructor Create( sServeur : string ); overload;   
      constructor Create( sServeur : string; iPort : Integer ); overload;  
      property AdresseDestinataire : string write sDestinataire;
      property AdresseEmetteur     : string write sEmetteur;
      property NomDestinataire     : string write sLabelDestinataire;
      property NomEmetteur         : string write sLabelEmetteur;
      property Sujet               : string write sSujet;
      property Mail                : TStrings write sMessage;
      property FormatHTML          : boolean  write HTMLFormat; 
      property Terminated          : boolean  read Terminer;    
      procedure ClientRead( Sender: TObject; Socket: TCustomWinSocket ); 
      procedure ClientWrite( Sender: TObject; Socket: TCustomWinSocket );
      procedure ClientConnect( Sender: TObject; Socket: TCustomWinSocket );
      procedure ClientDisconnect( Sender: TObject; Socket: TCustomWinSocket );
      procedure ClientError( Sender: TObject; Socket: TCustomWinSocket;       
                             ErrorEvent: TErrorEvent; var ErrorCode: Integer );
      procedure AssignToDebug( MemoDebug : TCustomMemo );
      procedure Envoyer;

  end;

  const
    PORT_SMTP = 25;   
    CRLF = #13#10;    
    CR = #13;
    LF = #10;

implementation


constructor TElgAnonyme.Create( sServeur : string );
begin
  inherited Create(nil);
  OnConnect    := ClientConnect;
  OnDisconnect := ClientDisconnect;
  OnError      := ClientError;
  OnRead       := ClientRead;
  OnWrite      := ClientWrite;
  Port        := PORT_SMTP;
  Host        := sServeur;
  ServeurSMTP := sServeur;
  Instance    := helo;
  Terminer := False;
end;

constructor TElgAnonyme.Create( sServeur : string; iPort : Integer );
begin
  inherited Create(nil);
  Self.OnConnect    := ClientConnect;
  Self.OnDisconnect := ClientDisconnect;
  Self.OnError      := ClientError;
  Self.OnRead       := ClientRead;
  Port        := iPort;
  Host        := sServeur;
  ServeurSMTP := sServeur;
  Instance    := helo;
  Terminer := False;
end;

procedure TElgAnonyme.AssignToDebug( MemoDebug : TCustomMemo );
begin
    Debbuger := MemoDebug;
end;

procedure TElgAnonyme.Envoyer();
begin
  if ( ( Trim( sEmetteur ) = '' ) or ( Trim( sDestinataire ) = '' ) ) then Exit;
  Open;
end;

procedure TElgAnonyme.ClientConnect(Sender: TObject; Socket: TCustomWinSocket);
begin
    Terminer := False;
    Debbuger.Lines.Add( 'SOCKET > Connection établie' );
end;

procedure TElgAnonyme.ClientDisconnect(Sender: TObject; Socket: TCustomWinSocket);
begin
    Terminer := True;
    Debbuger.Lines.Add( 'SOCKET > Connection terminée' );
end;

procedure TElgAnonyme.ClientError(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer);
var
    ErrorMessage : String;
begin
    Debbuger.Lines.Add('ERREUR > Connexion impossible');
    Close;
    Terminer := True;
end;

procedure TElgAnonyme.ClientRead( Sender: TObject; Socket: TCustomWinSocket );
var
  ServeurReponse : string;
  MessageLine    : Integer;
begin

  ServeurReponse := Socket.ReceiveText;   
  Debbuger.Lines.Add('Serveur > ' + ServeurReponse );
  if ( (Copy(ServeurReponse, 1, 1) = '2') or (Copy(ServeurReponse, 1, 1) = '3') ) then
  begin
    case ( Instance ) of  
      helo    : Socket.SendText('EHLO ' + ServeurSMTP + CRLF);                
      mailto  : Socket.SendText('MAIL FROM:<' + sEmetteur + '>' + CRLF);      
      rcptto  : Socket.SendText('RCPT TO:<' + sDestinataire + '>' + CRLF);    
      data    : Socket.SendText('DATA' + CRLF);                               
      trame   : begin                                                         
                  Socket.SendText('Return-Path: <' + sEmetteur + '>' + LF);
                  Socket.SendText('Delivered-To: online.fr-' + sDestinataire + LF);
                  Socket.SendText('X-Originating-IP: [' + AutoIP + ']' + LF);
                  Socket.SendText('X-Originating-Email: [' + sEmetteur + ']' + LF);
                  Socket.SendText('X-Sender: ' + sEmetteur + LF);
                  Socket.SendText('Subject: ' + sSujet + LF);
                  Socket.SendText('From: "' + sLabelEmetteur + '" ' + '<' + sEmetteur + '>' + LF);
                  Socket.SendText('To: "' + sLabelDestinataire + '" ' + '<' + sDestinataire + '>' + LF);
                  Socket.SendText('Bcc:' + LF); 
                  Socket.SendText('Date: ' + DateToStr(Date) + LF);
                  Socket.SendText('Mime-Version: 1.0' + LF);

                  if ( HTMLFormat ) then
                  begin                
                    Socket.SendText('Content-Type: text/html; charset=iso-8859-1; format=flowed' + LF);
                    Socket.SendText('<html><body><div>' + LF);
                    for MessageLine := 0 to (sMessage.Count -1) do Socket.SendText( '<font>' + sMessage.Strings[MessageLine] + '</font>' + LF);
                    Socket.SendText('</div></body></html>' + LF);
                  end else begin
                    Socket.SendText('Content-Type: text/plain; charset=ISO-8859-1' + LF );
                    for MessageLine := 0 to (sMessage.Count -1) do Socket.SendText( sMessage.Strings[MessageLine] + LF);
                  end;
                  Socket.SendText( CRLF + '.' + CRLF );
                end;
      quit    : Socket.SendText('QUIT' + CRLF);
      sckclose: Close;
    end;
    Inc(Instance);
  end else
  begin
    Socket.SendText('QUIT' + CRLF);
    Socket.Close;
    Terminer := True;
  end;
end;

function TElgAnonyme.AutoIP : string;
begin
  Randomize;
  Result := IntToStr(RandomRange(11, 200)) +
            '.' + IntToStr(RandomRange(11, 200)) +
            '.' + IntToStr(RandomRange(11, 200)) +
            '.' + IntToStr(RandomRange(11, 200));
end;

end.

Conclusion

Le code ci-dessus est une ancienne version, pour avoir le code mis à jour et commenté, telechargez le zip !

Et oubliez pas la note svp !!!
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

16 février 2006 08:56:24 :
Correction de la trame
28 février 2006 14:46:58 :
Trame SMTP plus fournie !
02 mars 2006 10:16:31 :
Fichier de TRAME externe : Maintenant vous pourrez plus dire çà marche pas, car c'est à vous de construire votre trame, et de faire en sorte de vous authentifier auprès du serveur SMTP.

Commentaires et avis

signaler à un administrateur
Commentaire de cirec le 15/02/2006 17:30:09 administrateur CS

Salut,
j'ai essayer tous les serveurs smtp et aucun ne fonctionne
erreur : Impossible de se connecter à ce serveur où serveur innexistant
Erreur Socket asynchrone 10061
et en suite l'application refuse de se fermer il faut passer par le gestionnaire des tâches et Terminer le processus !!!

voilà c'est domage mais ça marche pas snif ! ;-)

@+
Cirec

signaler à un administrateur
Commentaire de elguevel le 15/02/2006 20:19:31

ok merci, je vais regardé çà !!!

signaler à un administrateur
Commentaire de costello le 15/02/2006 20:34:36

Sans plaisanter aucunement, l'envoi d'e-mail en utilisant une fausse adresse d'expéditeur constitue une infraction pénale comme stipulé dans le code pénal au chapitre 323-1, assimilé à l'intrusion non-autorisée dans un système informatique, passible d'une peine de 2 ans de prison et 30 000 euros d'amende. Je vous déconseille d'utiliser ceci contre des entreprises ou des organismes publics, vous pourriez avoir de sérieux ennuis (ça a déjà fait jurisprudence).

Bien à vous

signaler à un administrateur
Commentaire de elguevel le 16/02/2006 08:12:22

C'est pour çà que j'ai stipulé plus haut que je ne fourni pas l'executable, que j'essai ce programme avec ma propre adresse EMAIL, et que c'est un truc de base qui ne comprend pas les type MIME (donc ne permet pas l'envoi de mail trop complet ou l'envoi de pièce jointe etc ... !)

Mais si cette source dérange trop, je peux demander aux admins de l'enlever, celà ne me dérange pas du tout.

PS : pour Cirec > J'ai essayé et là connection fonctionne tu n'as pas du fournir de bonnes infos. Sinon l'envoi ne fonctionne pas alors qu'avec un Telnet (sur ma boite biensur) envoi bien le message, j'ai mal du formatté ma trame SMTP.

signaler à un administrateur
Commentaire de elguevel le 16/02/2006 09:03:57

Voila j'ai corrigé l'erreur, j'avais mis un 'MAIL TO' au lieu de 'RCPT TO', ... erreur d'inattention. Et j'ai ajouter un système de visualisation des réponses du serveur.

@+

signaler à un administrateur
Commentaire de delphinait le 17/02/2006 17:35:24

salut  j'ai eu le meme probleme   que   cirec   sa ne fonctionne pas  meme avec  mon propre  serveur smtp.  

signaler à un administrateur
Commentaire de f0xi le 17/02/2006 23:13:24 administrateur CS

# { Envoi du mail }
# procedure TElgAnonyme.Envoyer();
# begin
#   // Pas de destinataire ou d'emetteur on ne fait rien
#   if (Trim(sEmetteur)='') or (Trim(sDestinataire)='') then Exit;
#   // Sinon Ouvre socket, on débute l'envoi du mail
#   Open;
# end;

signaler à un administrateur
Commentaire de elguevel le 18/02/2006 08:08:51

FoXi > oui pour ce passage du programme j'ai oublier de le finir, je voulais faire 2 cas bien distinct avec un message pour l'emetteur et un pour le destinataire, j'ai oublié.

Pour les autres > ba je comprend pas, chez moi çà marche bien, faudra que je prenne le temps de debugger çà et le compléter ! Désolé ..

signaler à un administrateur
Commentaire de elguevel le 18/02/2006 08:12:06

Au faite ... j'ai fait un petit cadre en bas, le serveur vous repond quoi là dedans ? çà m'aiderai a trouver le problème ...

signaler à un administrateur
Commentaire de elguevel le 18/02/2006 08:30:11

Bon je viens de refaire un test (on est jamais trop prudent).

J'ai rentré comme paramètres :
---------------------------------
Emetteur : utlisateur@wanadoo.fr
Destinataire : elguevel@free.fr
serveur : smtp.wanadoo.fr
---------------------------------

Voila ce que m'a repondu le serveur :
---------------------------------
SOCK > Connection établie
Serveur > 220 mwinf1406.wanadoo.fr ESMTP ABO **************************
Serveur > 250-mwinf1406.wanadoo.fr
250-PIPELINING
250-SIZE 10485760
250 8BITMIME
Serveur > 250 Ok
Serveur > 250 Ok
Serveur > 354 End data with <CR><LF>.<CR><LF>
Serveur > 250 Ok: queued as 98248700008C
Serveur > 221 Bye
SOCK > Connection perdue
---------------------------------

Et j'ai reçu le mail dans ma boite instantanément... donc je pense que vous n'arrivez pas à l'utiliser car perso en utilisant le programme tel quel... ba çà marche très bien.

Je rappel qu'une RFC sur le protocol SMTP est disponible en français à cette adresse : http://abcdrfc.free.fr/rfc-vf/rfc821.html

Et que pour ceux qui n'aurai pas compris, le domaine de l'emetteur doit être celui du serveur smtp, sinon le serveur refusera de transmettre le mail.

Sinon en fonction des FAI, du niveau de securité du serveur, ou même de la présence de programme type parefeu, etc... celà marche effectivement plus ou moind bien ! verifiez !

Voila ... je sais pas quoi vous dire de plus, recontactez moi si çà bloque toujours !!!

signaler à un administrateur
Commentaire de f0xi le 21/02/2006 05:06:57 administrateur CS

oui, alors, il faut savoir que pour limiter justement les utilisation abusive des serveur smtp, la plupart de ces fournisseurs de service (voila, aol, wannadoo, free, et j'en passe) limite l'accés a ce serveur par :

- l'utilisateur doit avoir un compte valide sur le serveur smtp
- l'email de l'expediteur doit correspondre au domaine du serveur smtp
- limitation a 25-50 du nombre de destinataires du mail tout champs confondus (cc,cci)
- limitation des commandes pour un utilisateur non enregistrer (pas de pieces jointes par exemple)

ce qui rend l'utilisation de ce genre de logiciel trés contraignante.

signaler à un administrateur
Commentaire de elguevel le 21/02/2006 19:42:14

Moi perso j'ai tester mon code et il fonctionne, j'ai même fait exprès de pas utiliser de composants tout fait (Indy, ...)  pour eviter les problèmes de compatibilité.

Malheuresement les gens ne comprenne pas toujours comment çà marche et après on vient me dire "çà marche pas".

J'ajouterai un truc IMPORTANT que tout le monde ne respecte pas, et fOxi le dit : "l'email de l'expediteur doit correspondre au domaine du serveur smtp" et çà personne le fait ( je le sait car on m'a envoyé des messages privés à ce propos ).

Aller @+ et bon coding !

signaler à un administrateur
Commentaire de leglode le 22/02/2006 11:07:21

Pas si anonyme avec le nom du serveur de connection et l'adresse ip local les recherches de l'émetteur est localisé assez rapidement je pense ???

signaler à un administrateur
Commentaire de cirec le 22/02/2006 12:24:51 administrateur CS

bon alors,
tu dis "S'il refuse la connexion en faisant smtp.aol.com c'est que le serveur ne doit pas existé"
j'ai les mêmes erreur avec Free Wanadoo et Yahoo ????
donc ça ne tiens pas.
En suite quand j'arrive à établir un connection le mail n'arrive j'amais. :-(
En suite pour les fameux MP c'est moi. Mais bon quand ce qui est logique et devrait fonctionner ne fonctionne pas... ben on essaye les autres possibilitées!!!

Plus fort encore :
avec une adresse expéditeur existante
une adresse destinataire existante
et je le précise l'email de l'expediteur correspondant au domaine du serveur smtp
aucun mail n'arrive et ce avec Wanadoo, Free et Aol. Yahoo je n'ai pas d'adresse donc je ne peut pas tester.

Et pour finir le programme plante toujours encore à la fermeture, il faut le forcer par le gestionnaire de tâches.

@+
Cirec

signaler à un administrateur
Commentaire de elguevel le 23/02/2006 13:20:52

Bon ... je suis le seul qui arrive a le faire fonctionné ... c desesperant :-(, le pire c que je re-telecharge la source sur ce site, je lance l'execution, je rentre un utilisateur fictif en expediteur, je met mon adresse en reception , et le pire c que je vient de voir qu'avec n'importe quel serveur SMTP çà marche (free et wanadoo).. donc je comprend pas ...

Donc je laisse tomber, je vais coder autre chose en attendant ... car j'ai pas trop le temps de refaire Outlook :s (a moins que vous m'envoyez vos configurations de tests, çà m'aiderai).

Car je precise encore que çà envoi un mail de base (complétement dépouillé..) donc en ameliorant la trame a mon avis çà passera mieux .. je vous laisse le soin de faire cet exercice.

Pour ce qui est du plantage à la fin je ne l'ai jamais constaté, mais je pense qu'il faudrai peut-etre mettre la socket sur un thread ! a voir.

Aller Bon Courage, ++

signaler à un administrateur
Commentaire de f0xi le 23/02/2006 15:54:40 administrateur CS

chez moi tout fonctionne bien avec ip free sur smtp free.

par contre un petit conseil :

le message "connection perdue" n'est pas clair et pourrais derouter l'utilisateur.
je conseil donc de le remplacer par "deconnection" tout simplement

signaler à un administrateur
Commentaire de elguevel le 23/02/2006 20:21:43

MIRACLEEEE ... enfin qqn chez qui çà marche !!! Comme quoi mon code n'est pas qu'une legende :D

aller @+, et merci fOxi !!!

signaler à un administrateur
Commentaire de TriTri6 le 01/03/2006 22:42:04

Bravooo !
Alors ca marche.
En fait je dirai que ca marche pas puisque j'ai essayé avec l'adresse de ma FAC, mais en fait ils doivent etre trop bien protégés. Je joins le log à tout hasard.
Mais on voit bien que ca se connecte et tout.
Très intéréssant de voir tous ces messages.
Bravo bravo !
En plus j'ai rien eu a faire à part cliquer sur le dpr et compiler.Excellent.

******************************************************************
SOCK > Connection établie
Serveur > 220 post.bourget.univ-savoie.fr ESMTP Sendmail 8.12.3/jtpda-5.4 ready at Wed, 1 Mar 2006 22:38:32 +0100

Serveur > 250-post.bourget.univ-savoie.fr Hello dyn-83-152-68-161.ppp.tiscali.fr [83.152.68.161], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE 15728640
250-DSN
250-ETRN
250-DELIVERBY
250 HELP

Serveur > 551 5.0.0 Rejected address by dul.dnsbl.sorbs.net

SOCK > Connection terminée
****************************************************************

signaler à un administrateur
Commentaire de cirec le 01/03/2006 23:14:25 administrateur CS

Bon alors la c'est gé..ni..al
ça fonctionne bien avec serveur Wanadoo et Free et les mails arrivent et l'application se ferme même si la connection à échoué.
Juste une ombre encore au tableau l'envoie en Html ne fonctionne pas
Mais depuis le temps que je disais que ça ne marchait pas je met quand même un 10/10 c'est pas volé ;-)

@+
Cirec

signaler à un administrateur
Commentaire de elguevel le 02/03/2006 10:26:16

A çà fait plaisir, car on pourra pas dire que je fais pas des efforts pour vous satisfaire lol

Alors pour TriTri6 >

1) Ba c'est le problème majeur que j'ai avec ce programme... c'est l'authentification, les serveurs verifient plein de données, et le moindre pet de travers et :

Serveur > 551 5.0.0 Rejected address by dul.dnsbl.sorbs.net

... c'est chiant.

2) Et oui çà marche tout de suite, car j'essai au mieux d'utiliser les classes de bases et l'API windows pour eviter que les gens aient des problèmes de compatibilité avec les composants genre Indy etc.. en plus c'est plus portable, optimisé et propre.

Sinon pour corriger ses PROBLEMES, voilà la nouvelle version (pas encore bien testé) mais j'ai mis la trame dans un fichier EXTERNE, ce qui vous laisse le loisir de la modifier et l'ameliorer à volonté.

J'ajoute que la trame que je fourni dans le Zip n'a pas été conçu grace
à une lecture boulimique de tutoriaux mais j'ai sniffé un envoi de mail sur mon reseau pour récupéré la trame, donc on peux pas faire plus réaliste.

Aller bon code, merci, et ++

signaler à un administrateur
Commentaire de Francky23012301 le 10/04/2006 21:40:49

Je tiens juste à dire que c'est normal que cela plante avec AOL : ils n'ont pas de serveur SMTP et que de plus ils n'utilisent pas le PPP

signaler à un administrateur
Commentaire de elguevel le 11/04/2006 13:21:34

Merci bcp pour cette précision :-)

signaler à un administrateur
Commentaire de elguevel le 06/06/2006 23:02:26

Une boucle c'est tout con à faire, je te laisse se plaisir...

Sinon ce commentaire me désole un peu !

signaler à un administrateur
Commentaire de f0xi le 08/06/2006 10:54:00 administrateur CS

@Franck_Klein : ... pourrais-tu t'exprimer autrement qu'avec l'agressivitée, de un. Ensuite tu devrais preciser sur quel commentaire ou point tu reagis car repondre 3 mois aprés ce n'est pas trés clair.

Elguevel a 23 ans ... soit 3 ans de moins que toi donc ton commentaire sur son age et relativement stupide et denote un grand manque d'ouverture d'esprit et de tolerance.

Ensuite, qui est-tu pour venir dire "je vais te donner une deuxieme chance..." ?
pour qui te prend tu ?

Je pense qu'avant de venir faire la morale au gens tu ferais mieux de te regarder dans une glace et surtout d'aller lire la RFC 1855 et d'apprendre l'esprit de communautée.

Bref ton commentaire et non seulement pas objectif et pas constructif du tout. Si tu veux aller geuler gratuitement sur des gens en vantant tes "grosses" competences vas plutot sur JeuxVideo.com ou Caramail tu y trouveras pleins d'amis qui on la même façon de penser que toi.

Ici on est la pour aider, pour ameliorer, pas pour balancer des charabias incomprehensibles et avoir un comportement elitiste et irrespectueux.
Cette epoque est revolue, UseNet est bel est bien mort.

Merci de te calmer... prend un douche froide, fume une clope, prend un valium.

ah aussi, avant de reprendre les gens sur le francais, assure toi d'ecrire egalement correctement, parce que tu peu parler niveaux syntaxe et style c'est du n'importe quoi.
Au moins c'est pas ecrit en SMS ... c'est deja ça, ça ne doit pas faire longtemps que tu traine sur le web, vus ta reaction.

signaler à un administrateur
Commentaire de BruNews le 08/06/2006 11:44:29 administrateur CS

"autant de mails par seconde que de cycles d'horloge du processeur"

On croirait une routine aléatoire ayant collé des mots les uns derrière les autres...
Etaler de telles inepties n'apporte aucune plus-value, bien au contraire.

signaler à un administrateur
Commentaire de elguevel le 08/06/2006 14:06:50

C'est ce que je disais... tu es désolant.

1) J'ai 23 ans (mais fOxy l'a déja précisé).

2) Je suis pas un LaMeR comme tu le sous entends mais un developpeur ayant des compétences en réseau. Je suis à ce propos actuellement en licence d'informatique, donc j'ai quelques notions, dirons-nous, de ce que je fais.

3) Mes programmes (et tu peux le verifier) sont crées à partir de mon simple cerveau, certe documenté, mais je n'ai pompé mes codes sur personnes. Et si tu avais regardé l'ensemble de mes sources tu verrais que j'y effectue un réel travail... De plus à part ses deux commentaires assez agressifs, tu n'as rien posté toi !

4) Mon orthographe, ba j'ai le même problème que tout le monde, j'ecris mal et je fais plein de fautes, car j'en avais rien à foutre avant, et l'ecole me barbe. Mais le monde du travail (et oui je suis aussi en alternance) m'a ouvert l'esprit et m'oblige à me forcer et à m'améliorer de ce coté. Je fais ce que je peux pour bien ecrire meme si c'est pas top, et je te trouve gonflé de me reproche un "Se" au lieu d'un "Ce" alors que dans ta première phrase tu ecris "comprit" avec un T, ce qui est encore moins excusable.

5) Ton histoire d'envoyer des mails sur une fréquence d'horloge ne tient pas debout, et est stupide... car l'envoi de paquets (sans compté les verifs : SYN, ACK, CheckSum, etc..) sera beaucoup plus long qu'un cycle d'horloge de CPU.

6) La seule chose que tu as su dire dans ton premier commentaire est :
"ça serait bien que quelqu'un developpe un mailer anonyme qui boucle comme une "mittraillette".

Déja si t'es si fort tu devrais être capable de faire çà toi même, vu que j'ai déja fais le plus gros. Et si tu retouches le code, si, avec une simple boucle c'est possible.

De plus ce genre de commentaires sort déja plus souvent de la bouche "d'un gosses", qui ne pense qu'a spamer des boites mails pour faire mumuse, que d'un mec interessé et responsable qui aimerai comprendre l'implémentation d'un héritage de classe (TClientSocket ici) ou s'interesser à des protocoles réseau tel que SMTP.

Voila pourquoi j'ai dit plus haut : "Sinon ce commentaire me désole un peu ! "

7) Ici c'est un forum de developpement pas une entreprise de logiciel. Ca sert à rien de demander des trucs tout fais, on ne t'en donnera pas. Commente les codes, critique les si tu veux, mais soit constructif. Ca sert à rien de descendre les autres en les traitants de "gosses". Surtout que si tu joue à çà sur ce genre de Forum c'est toi qui va passer pour un "Gosse" car il y a ici, à mon avis, beaucoup plus fort que toi !

8) A plus L'ami !

Sinon si tu cherches le site de Disney c'est : http://www.disney.fr/ (Une pointe d'ironie)

signaler à un administrateur
Commentaire de cirec le 08/06/2006 16:01:10 administrateur CS

@Frank_Klein
" parce que t'a rien comprit "
Tu as deux fautes au début de ton message et tu te permets de balayer chez le voisin.
Tu ne manques pas d'air !!!

Et le correcteur de Word passe à côté ...  Dommage :-)

Et l'âge n'a rien à voir dans tout ça, il y a ici, sur CS des "gosses" de 16 ans, comme tu le dis si bien, qui pourraient bien te surprendre, que ce soit en français où en informatique, et à mon avis, beaucoup plus matures que d'autres qui sont de 10 ans leurs aînés.

Certains grandissent plus vite que d'autres !!!! :-)
@+
Cirec

signaler à un administrateur
Commentaire de Frank_klein le 08/06/2006 22:37:43

les gars, ne vous formalisez pas aux apparences de ce que j'ai écrit, c'était avec une pointe d'humour ... c'est vrais un peu plus cynique ou sarcastique mais passez dessus, la verité est ailleurs ... bravo à tous pour vos contributions sur ce site, ça rend pas mal des services...  

signaler à un administrateur
Commentaire de elguevel le 09/06/2006 07:58:28

Ah ba voila .. c'est mieux :-)

signaler à un administrateur
Commentaire de gamez le 30/07/2006 18:22:59

@costello
c'est un peu la meme chose que de se faire un compte mail "bidon", yen a beaucoup qui le font pourtant ya pas de quoi fouetter un chat

signaler à un administrateur
Commentaire de elguevel le 31/07/2006 08:21:15

oui et ce que je voulais montrer dans ce code c'est l'implémentation de la socket : quelle soit autonome et reponde en fonction des messages reçus, qu'elles se stoppe automatiquement en cas d'erreur sans planter, etc.. :-D ... Envoyer des mails pourris çà on s'en fou, un telnet (client socket) suffit !

signaler à un administrateur
Commentaire de JoNasx86 le 17/12/2006 20:58:40

Pour ce qui est de l'anonymat votre adresse ip est stockées dans les logs du serveur smtp.

Pour ce qui est du choix du serveur smtp il faut savoir que pas mal ont des restrictions en termes d'identification tout d'abord voire en terme de temps (temps limite sur certain serveurs via l'utilisation de telnet par exemple).

Une adresse de serveur smtp en vrac : mail.hotmail.com

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Composant POP3 et SMTP [ par Kundun2 ] Bonjour,je voudrais savoir si quelqu'un aurait sous la main les composants POP3 et SMTP présent jusqu'a la version 6 de delphi !!En effet, j'ai un pro composant indy pop3 [ par cedkat ] bonjour, je cherche a faire une petite appli qui va récuperer des mail sur un serveur. j'ai vu pour cela qu'il y avait des composant Indy mais mais te [Indy] Composant TIdPop3Server [ par baloo151 ] Bonjour,Je cherche à réaliser un simple serveur POP3 à partir du programme de démo fourni avec Indy.Je n'arrive pas à faire fonctionner la commande po comment connaitre le serveur smtp [ par xbr32 ] je voudrais savoir si il existe un moyen de connaitre le serveur smtp dun ordinateur quil utilise pour se connecter pour envoyer des messages (par exe composant smtp [ par cbaubo ] bonjour je cherche un composant, ou activeX smtp pour cr&#233;e une interface dans le cadre d'un projet &#233;tudiant merci d'avance&nbsp;&#224; tous composant indy SMTP [ par templeofboom ] bonjour dans une appli je voudrai pouvoir envoyer des mails donc j'utilise le composant idsmtp pour le faire or y a un pti soucis c'est que j'arrive j POP3 et SSL [ par botelec ] Bonjours &#224; tous et toutes ! Voila, j'ai impl&#233;menter une classe client mail multi-thread &#224; partir de la classe TClientSocket afin de me envoyer mail avec delphi [ par Maniaxman ] Salut, J'aimerais cr&#233;er un programme qui envoie un mail avec delphi, mais qui n'utilise pas de serveur smtp, de fa&#231;on a ne pas avoir de : s Creer un serveur smtp? [ par ewertheimer ] Bonjour j'aimerais creer un serveur smtp grace au composant IdSMTPServer mais je ne sais pas du tout comment faire. Meri d'avance de vos reponses. POP3 et pièce jointe [ par Francky23012301 ] Salut à tous, Je désire pouvoir récupérer mes courriers électroniques par le biais du composant TidPOP3 des composants Indy. Seulement, je bloque sur


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.