Problème d'envoi demails [Résolu]

Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
- - Dernière réponse : cs_leroukin
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
- 28 janv. 2008 à 14:42
Bonjour à tous,

je reviens sur le forum pour poser une petite questions.

J'effectue de lenvoi demail à partir de mon appli ( en delphi 3 ) j'utilise un composant nommé ANSMTP (http://www.emailarchitect.net/webapp/smtpcom/)

il me permet de passer par les DNS lookup pour envoyer un email ( si je ne désire pas passer par un serveur SMTP )

Cela fonctionne mais j'ai des problèmes.
Quels conditions doivent etre remplies pour que mon email ne part pas en spam ( c'est le cas sur yahoo par exemple ) ou pour qu'il arrive bien jusqu à la boite email ( sur une boite hotmail jai bien le mssg comme quoi le mail est arrivé mais il est invisible sur la boite email correspondante , je pense donc qu'il a été bloqué). je sais que les champs comme le body, le send ou meme le header doivent etre remplis selon des regles. mais lesquelles ?
Quels donc les conditions pour qu'un email ait le + de chance darriver à bon port et non en spam ?

davance merci
Afficher la suite 

Votre réponse

19 réponses

Meilleure réponse
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
3
Merci
D' après l' exemple sur le site : 

  vServerAddr := 'mail.adminsystem.net';
  //if you don't have a SMTP server, assign '' to ServerAddr,
  //ANSMTP will send email via DNS lookup.
  //vServerAddr := '';
 
  vSubject := 'test subject';
  vBody := 'test body';
  vSenderAddr := 'test@adminsystem.net';
  vRecipient := 'support@adminsystem.net';
 
  m_oSmtp.Reset();
  m_oSmtp.ServerAddr := vServerAddr;
  m_oSmtp.FromAddr := vSenderAddr;
  m_oSmtp.Subject := vSubject;
  m_oSmtp.BodyText := vBody;
  m_oSmtp.AddRecipient( vRecipient, vRecipient, 0 ); 
  if m_oSmtp.SendMail() = 0 Then
    Application.MessageBox( 'Message delivered', '' );
  else
  begin
    vError := m_oSmtp.GetLastErrDescription();
    Application.MessageBox( vError, '', );
  end;

If you don't have a smtp server, then do not put any value to Server, ansmtp would send email
via dns lookup. In this case, you make sure all recipients belong to the same domain.

On se rend compte que tu veux pas passer par le server smtp de ton compte mail au quel cas il faudrait informer dans la variable "vServerAddr" du nom de server SMTMP de ton compte mail...

Malheureusement, il me semble que tu dois avoir un PC faisant de serveur  et être propriétaire d' un domaine pour que cela marche bien ...

A+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de cs_MAURICIO
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
Salut,
le problème n' est pas évident à résoudre, je ne sais même pas si le probleme viendrait des compos que tu utilises.

Je te propose d' essayer de faire un mail simple avec les compos Indy :
www.indyproject.org

Je n' ai aucun problème avec ces compos.
A+
Commenter la réponse de cs_MAURICIO
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
Merci pour ta réponse Mauricio mais hélas je ne désire pas utiliser les composants Indy, pkoi me diras tu ? car je veux absolument passer les DNS lookup ( et non un serveur smtp ) et car il faut que je sois compatible delphi 3 ( indy sarrete au 6 et son ancetre Winshoes compatible delphi 3 n'est pas franchement top ... )

donc via Indy je pense qu'il est normal que cela passe bien puisque lenvoi passe via le serveur, qui rempli convenablement certaines infos.
mais vu que je ne compte pas passer via le serveur smtp , il faut , je pense, que je me tamponne les données à la main. Mais quelles sont les règles ? je ratisse des forums (souvent sur des codes php) mais je n'y trouve pas mon bonheur.

si quelqu'un a une idée ! jécoute ;)

(le composant ansmtp possede grosso modo les memes méthodes et propriétés que les composants indy à la difference que si l'on ne veut pas passer par un serveur smtp on passe le server adress à null.

( http://www.emailarchitect.net/webapp/smtpcom/developers/delphi.asp )
Commenter la réponse de cs_leroukin
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
Rebonjour à tous;

mon problème se débloque petit à petit.

Jarrive maintenant à envoyer sur une boite email en général, sans que mon email passe en spam ( whouhou )

mais il me reste un problème avec les messageries hotmail, en effet aucun message n'atteint une boite email Hotmail.

Néanmoins j'ai remarqué quelque chose lors d'un envoi demail lorsqu'on regarde l'entete complet on trouve normalement ladresse ip local (192.168.0.***) de lordinateur dont est parti le message. 
Dans mon cas on trouve ladresse : 127.0.0.1 ( autrement dit de la mer**)
donc ma question est, savez vous quel proprieté est à changé lors d'un envoi demail pour que ladresse ip local de son poste apparaisse bien ( je pense que c'est pour cela que ca ne fonctionne pas sur les adresses hotmail ) 
Commenter la réponse de cs_leroukin
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
A mon avis c' est l' IP du serveur crée sur ta machine qui se charge d' envoyer le mail.

Malheureusement, cet IP doit être rejeté par les filtres anti-spam de Hotmail.

Je pense aussi que le problème pourrait venir de l' Header qui ne doit pas être bien géré.


 


Pourquoi n' utilise tu pas le POP Server de ton mail?


A+
Commenter la réponse de cs_MAURICIO
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
je pense justement que Ansmtp utilise le pop server de lemail ( Mauricio pour toi il cree directement un serveur via la machine, je ne pense pas perso vu ce qu'il est dit dans la doc ? ).

je viens de faire quelques recherches et en effet nombre de filtres bloques l'ip 127... donc il faut que je trouve le moyen de le modifier. jattends la réponse du dév de Ansmtp ( situé à Hong Kong à priori c'est pas pratique pour les horaires ... )
coté header pas de soucis : jai comparer mon header à celui d'un envoi demail standard il est automatiquement correctement généré.

je vous tiens au courant de lévolution.
Commenter la réponse de cs_leroukin
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
"je pense justement que Ansmtp utilise le pop server de lemail ( Mauricio pour toi il cree directement un serveur via la machine"

Il y a une contradiction dans cette phrase:
"Ansmtp utilise le pop server de l' email" < contraire de > "il cree directement un serveur via la machine"

Si tu ne lui donnes pas cette information (POP server de ton compte mail) c' est qu'il ne l' utilise pas du tout, d' oú ton problème!
D' ailleurs, c' est pour ça qu' il crée un serveur local avec l' IP 127.0.0.1.

A+
Commenter la réponse de cs_MAURICIO
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
Mon problème avance.

je récapitule : je ne veux pas passer par un servuer smtp mais bien les DNS lookup , je met donc le champ vServerAddr := ''; ca on est daccord je le fais depuis le début.

j'arrive bien à envoyer des emails depuis un petit moment via cette technique mais ils arrivaient tous en junkbox, peu importe la boite email.

Maintenant j'arrive bien à envoyer des emails ( sans qu'ils soit en spam ) avec tous les provider de boite mail sauf .. sauf .. HOTMAIL

lorsque jessai un envoi sur une boite hotmail, il n'est jamais recu( aussi bien en junkbox que en mailbox )

je pense que c mon 127.0.0.1 qui le fait tilter hélas :( . il faut donc que je trouve une parade pour que cet ip soit mon ip local à la place ( 192.168.1.***)
mais comment le modifier cela reste encore une interrogation.

si par hasard tas une piste Mauricio, you welcome :)
Commenter la réponse de cs_leroukin
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
C'est bon . . problème résolu ... il sagit juste d'un problème de parametrage avec notre firewall de la boite. 
A priori Hotmail n'agissant pas pareil que d'autres boites mails, les emails pour Hotmails restaient bel et bien bloqués ..

pkoi faire simple quand on peut faire compliqué ...
Résolu ! Merci Mauricio en tout cas pr tes réponses :)
Commenter la réponse de cs_leroukin
Messages postés
23
Date d'inscription
lundi 28 janvier 2008
Dernière intervention
28 janvier 2008
0
Merci
Je voudrais je vous pris une reponse a ma prblématique
je résultat que je veux obternir est le suivant :
quand je click sur une carte visite je peux envoyer un mail a son propiétaire
l'adresse mail s'intalle d'elle même sur la boite de dialogue outlook d'ou l'interessé pourait inserer son mail, donc la procedure ne fera que faire appel a outlook et lui filer le mail du recepteur, l'adresse de l'expéditeur la personne l'inser d'elle mm
   alors j'ai trouvé le code suivant :



procedure SendOutlookMail;



<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 





const




  olMailItem = 0;



var




  Outlook: OleVariant;




  vMailItem: variant;



begin




  try



Outlook := GetActiveOleObject('Outlook.Application');




  except



Outlook := CreateOleObject('Outlook.Application');




  end;




  vMailItem := Outlook.CreateItem(olMailItem);




  vMailItem.Recipients.Add('dummy@hotmail.com');




  vMailItem.Subject := 'test email';




  vMailItem.Body := 'This is a test';




  vMailItem.Attachments.Add('C:\temp\sample.txt');




  vMailItem.Send;




 






  VarClear(Outlook);



end;


mais delphi me dit que GetActiveOleObject  et CreateOleObject ne sont pas déclarée, il ne les reconnait pas en tant que fonction

y a t'il un composant que je dois mettre sur ma fenetre ?
OU ai je sauter une étape pourkoi deplhi ne reconnait il pas ces deux fonctions pourtant j'ai trouvé sur maintes codes qu'elles étaient utilisées pour faire appel a d'autres applicationc
merci de me filer un coup de main car je rame
Commenter la réponse de nina0amina
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
Tu dois insérer dans les Uses l' unité "ComObj" !!!

procedure SendOutlookMail;
<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>Uses ComObj; 

const

  olMailItem = 0;

A+
Commenter la réponse de cs_MAURICIO
Messages postés
23
Date d'inscription
lundi 28 janvier 2008
Dernière intervention
28 janvier 2008
0
Merci
merci je t'adore, mais la il me ressort un message d'erreur
eolesyserror lorsque je clik sur la photo pour l'envoi du mail

je rame aidez moi
Commenter la réponse de nina0amina
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
Il faudrait que tu ouvres une nouvelle question sur le forum pour avoir des chances que l' on te réponde expliquant bien ce que tu fais, donnes un bout de code ...
A+
Commenter la réponse de cs_MAURICIO
Messages postés
23
Date d'inscription
lundi 28 janvier 2008
Dernière intervention
28 janvier 2008
0
Merci
Le projet est compilable mais dès que j'essaye d'envoyer un mail ca sort ce message d'erreur pourkoi ?
je rame aidez moi
Commenter la réponse de nina0amina
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
nina0amina comme Mauricio vient de le dire. Crée un nouveau sujet. Propre à ton problème. Ce sujet etant résolu et n'ayant aucun lien avec le tien.

tu auras + de réponses je pense .. et puis petit conseil : formule un peu mieux tes demandes.
enfin je dis ca je dis rien ...

cordialement.

R.
Commenter la réponse de cs_leroukin
Messages postés
23
Date d'inscription
lundi 28 janvier 2008
Dernière intervention
28 janvier 2008
0
Merci
merci l'ami mais je suis en train de faire mes premiers d'informaticienne, merci pour le conseil j'essayerai de faire mieux
je rame aidez moi
Commenter la réponse de nina0amina
Messages postés
23
Date d'inscription
lundi 28 janvier 2008
Dernière intervention
28 janvier 2008
0
Merci
je sais que je je devrais plus ecrire mes message ici mais sur ma question personne ne me repond, voudriez vous répondre a ma question !

je rame aidez moi
Commenter la réponse de nina0amina
Messages postés
2233
Date d'inscription
mardi 10 décembre 2002
Dernière intervention
15 décembre 2014
0
Merci
Bem c' est peut-être que l' on a pas la réponse?!

Tu viens de poser ta question: attends une journée ou deux.
De toute façon, je n' ai pas le temps de chercher pour l' instant ...

Essaye avec google.com de trouver une source qui fait la même chose.


A+
Commenter la réponse de cs_MAURICIO
Messages postés
37
Date d'inscription
jeudi 15 novembre 2007
Dernière intervention
23 juin 2010
0
Merci
Nina, je te conseille ce petit tuto, trouvé via notre ami Google

http://delphi.developpez.com/faq/?page=OutLookMail#creermailoutlookv2

je pense que cela répondra à ta problèmatique. bon courage.

R.
Commenter la réponse de cs_leroukin

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.