Problème d'envoi demails

Résolu
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010 - 17 déc. 2007 à 18:02
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre 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

18 réponses

cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
18 déc. 2007 à 18:14
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+
3
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
17 déc. 2007 à 18:55
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+
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
18 déc. 2007 à 09:39
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 )
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
18 déc. 2007 à 17:06
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 ) 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
18 déc. 2007 à 17:38
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+
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
18 déc. 2007 à 17:53
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.
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
18 déc. 2007 à 18:01
"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+
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
19 déc. 2007 à 09:41
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 :)
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
19 déc. 2007 à 13:48
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 :)
0
nina0amina Messages postés 23 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 12:32
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
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 janv. 2008 à 12:41
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+
0
nina0amina Messages postés 23 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 12:53
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
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 janv. 2008 à 12:57
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+
0
nina0amina Messages postés 23 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 12:59
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
0
nina0amina Messages postés 23 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 13:18
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
0
nina0amina Messages postés 23 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 13:47
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
0
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
28 janv. 2008 à 14:31
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+
0
cs_leroukin Messages postés 36 Date d'inscription jeudi 15 novembre 2007 Statut Membre Dernière intervention 23 juin 2010
28 janv. 2008 à 14:42
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.
0
Rejoignez-nous