Envoyer un e-mail avec Rebol
jodogo19-Mar-2013/11:46:15+1:00
Bonjour
J’essaie d'apprendre à programmer en Rebol en suivant pas à pas le livre d'Olivier Auverlot. Je voudrais envoyer un message à une adresse e-mail en tapant le code suivant :
send prénom.nom@fai.fr "Ceci est un message"
Une erreur est retournée :
** User Error: Email header not set: no from address
** Near: make error! info
Pouvez vous m'aider SVP
Je précise que le fichier "user.r" est renseigné correctement.
DideC19-Mar-2013/13:41:38+1:00
Bonjour Jodogo et bienvenue à toi sur ce forum.

la fonction 'send n'existant pas encore dans R3 (Rebol version 3), j'en déduis que tu utilise un R2.

Il reste donc 2 points obscurs : sur quel système l'utilise-tu (Windows, Linux machin truc, ...) et est-ce une version /Core ou /View ?

L'erreur dit que l'email de l'expéditeur n'est pas renseigné. Il faudrait le vérifier :
1) dans une console, en tapant :
system/user/email

2) dans ton script en ajoutant provisoirement ceci au début (après l'entête "Rebol [...]") :
probe system/user/email
halt

Dans les 2 cas tu es censé y trouver l'adresse email que tu as mis en 1er dans le block passé à la fonction 'set-net dans ton fichier "user.r"

Vérifie aussi que le fichier "user.r" contient bien quelque-chose de la forme :
REBOL [
    Title: "User Preferences" 
    Date: 12-Feb-2002/11:14:34
] 
set-net [monadresseamoi@monfournisseur.fr "smtp.monfournisseur.fr" "pop.monfournisseur.fr" none none none] set-user-name "DideC"
jodogo19-Mar-2013/19:34:05+1:00
Merci DideC d'avoir pris quelques instants pour me répondre.
J'utilise RebolWiew version 2.7.6.3.1 sous Windows.
J'avais renseigné "user.r" en utilisant Rebol préferences, mais pour plus de sécurité j'ai tapé "set-net" en début de mon script après l'entête Rebol.Seule différence j'ai écris "imap" au lien de "pop" et j'ai ajouter "set-user-name ..." qui n'y était pas dans mon premier script.
Lorsque je tape dans Rebol/Core ou Rebol/View : "probe system/user/email la console me retourne bien mon adresse mail.
Lorsque je tape "send adresse_d'un_ami@sfr.fr "Ceci est un message" j'obtiens cette fois l'erreur suivante :
** User Error: Server error: tcp 550 5.1.1 Authentification requise. Authentication Required. LPN106_402 [402]
** Near: insert smtp-port reduce [from reduce [addr] tmp]
Et lorsque j'envoie a ma propre boite e-mail le même message j'obtiens :
** User Error: Server error: tcp 421 mwinf8507-out ME Trop de connexions, veuillez verifier votre configuration. Too many connections, ...
** Near: smtp-port: open [scheme: 'esmtp]
either only
C'est très nébuleux pour moi.
En espérant te lire bientôt, cordialement.
DideC20-Mar-2013/14:48:04+1:00
OK, merci pour les infos sur le contexte informatique.

POP ou IMAP, c'est pour la réception des emails. Pour le moment, ce n'est pas le problème.

C'est bien de mettre le 'set-net au début de ton script, temporairement, le temps de trouver les bonnes valeurs. Quand ce sera fait, il faudra les mettre dans le "user.r" pour que tous les scripts à venir les utilisent.

La première erreur dit "Authentification requise". Cela signifie que ton serveur SMTP demande un nom et un mot de passe pour permettre l'envoi d'un message.
>> help set-net
USAGE:
    SET-NET settings

DESCRIPTION:
     Network setup.  All values after default are optional.  Words OK for server names.
     SET-NET is a function value.

ARGUMENTS:
     settings -- [email-addr default-server pop-server proxy-server proxy-port-id proxy-type esmtp-user esmtp-pass] (Type: block)

Il s'agit des paramètres esmtp-* à la fin du block passé à 'set-net : y mettre 2 chaines. Ce sont en général les mêmes identifiants que pour le POP (l'adresse email et le mot de passe associé). Attention à bien mettre le bon nombre de 'none dans le block pour que ce soit bien la 7ème et 8ème valeur du block !
jocko20-Mar-2013/20:19:56+1:00
Voir aussi : http://rebol2.blogspot.it/ Mass mailer
jodogo21-Mar-2013/11:34:13+1:00
Merci jocko je vais étudier ce script.

J'ai essayé les propositions de DideC le résultat est l'erreur suivante:

** Access Error: Cannot connect to smpt.laposte.net
** Where: open-proto
** Near: smtp-port: open [scheme: 'esmtp]
either only

J'ai inversé les messageries en remplaçant la "poste" par "sfr" la réponse est identique.
Merci à tous je garde l'espoir.
Philippe21-Mar-2013/13:32:36+1:00
Hello,
Ton message d'erreur présente une bizarrerie :

smpt.laposte.net

ce ne serait pas plutôt smtp.laposte.net ??
(inversion tp dans smtp)

===Philippe
jodogo22-Mar-2013/11:01:48+1:00
Merci Philippe d'avoir remarqué cette grossière erreur de ma part.
Après correction les modifications suggérées par DideC fonctionnent très bien.
Un grand merci à DiedC et à tous ceux qui m'ont aidé à solutionner ce problème, je vais pouvoir aller un peu plus loin dans l'apprentissage de Rebol.
DideC22-Mar-2013/11:23:27+1:00
Super ! Je suis heureux d'avoir pu t'aider.
Bonne exploration.

Login required to Post.


Powered by RebelBB and REBOL 2.7.8.4.2