Emacs et les raccourcis clavier

Le
Franck Joncourt
--bCsyhTFzCvuiizWE
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Bonjour,

Je suis en train de m'amuser avec emacs, et j'aimerais reussir a
associer une sequence de touches a une fonction particuliere.

En d'autres termes, j'aimerais pouvoir ajouter un fichier "header"
dans le buffer courant a l'endroit ou se trouve le curseur.

J'y arrive sans probleme en faisant *C-x i* et en specifiant le fichier
a ajouter, mais ce serait mieux avec quelque chose comme *C-i f* sans
avoir a specifier le nom du fichier.

Le but final est de pouvoir ajouter un en-tete de fichier, de fonction
rapidement.

Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/

Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
veux faire ?

Merci.

--
Franck Joncourt
http://www.debian.org
http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--bCsyhTFzCvuiizWE
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

--BEGIN PGP SIGNATURE--
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGTydRxJBTTnXAif4RAttWAJ965v9wQNujSxYSMQ3YCBC3MSQc6ACffKcG
6xfBkWTEdaZ/3HD7Dd7bqM0=
=uSAi
--END PGP SIGNATURE--

--bCsyhTFzCvuiizWE--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Vincent Lefevre
Le #9555411
On 2007-05-19 18:35:29 +0200, Franck Joncourt wrote:
Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/

Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
veux faire ?



Je n'ai pas trop compris ce que tu veux faire, mais voici d'autres
liens qui peuvent être intéressants:

http://www.emacswiki.org/
http://tiny-tools.sourceforge.net/emacs-keys.html
http://people.via.ecp.fr/~flo/2000/emacs-tut/
http://www.tuteurs.ens.fr/unix/editeurs/emacs.html

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
tux7513
Le #9555401
Franck Joncourt a écrit :
Bonjour,

Je suis en train de m'amuser avec emacs, et j'aimerais reussir a
associer une sequence de touches a une fonction particuliere.

En d'autres termes, j'aimerais pouvoir ajouter un fichier "header"
dans le buffer courant a l'endroit ou se trouve le curseur.

J'y arrive sans probleme en faisant *C-x i* et en specifiant le fichier
a ajouter, mais ce serait mieux avec quelque chose comme *C-i f* sans
avoir a specifier le nom du fichier.

Le but final est de pouvoir ajouter un en-tete de fichier, de fonction
rapidement.

Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/

Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
veux faire ?

Merci.




C-x i correspond à la fonction insert-file. Donc, dans du code lisp tu
peux aisément insérer du texte en provenance par exemple de templates
que tu aurais créées dans différents fichiers.

Regarde un peu du côté de KDE extra gear. Je sais qu'ils ont dévelo ppé
un ensemble de code lisp pour emacs ou xemacs afin de faire un peu ce
que tu veux. C'est axé sur les classes KDE mais tu pourrais y apprendre
comment ils insèrent leur code, et ensuite adapter à tes besoins prop res.

Jacques
tux7513
Le #9555391
Vincent Lefevre a écrit :
On 2007-05-19 18:35:29 +0200, Franck Joncourt wrote:
Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/

Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
veux faire ?



Je n'ai pas trop compris ce que tu veux faire, mais voici d'autres
liens qui peuvent être intéressants:

http://www.emacswiki.org/
http://tiny-tools.sourceforge.net/emacs-keys.html
http://people.via.ecp.fr/~flo/2000/emacs-tut/
http://www.tuteurs.ens.fr/unix/editeurs/emacs.html




Tu pourrais créer une fonction en elisp, puis l'appeler avec
(global-set-key [touche] 'fonction)

Si cela peut t'aider, voici une ébauche de fonction pour insérer du t exte.

(defun insert-header ()
(interactive)
(insert ("Ce que tu veux")))

Mais tu peux l'étoffer avec des fonctions pour positionner le curseur à
l'endroit exact où tu veux, etc. La doc emacs lisp dispo sur le site GN U
est très complète. Tu devrais y jeter un oeil.
Jacques L'helgoualc'h
Le #9555381
Franck Joncourt a écrit, samedi 19 mai 2007, à 18:35 :
Bonjour,



bonsoir,

Je suis en train de m'amuser avec emacs, et j'aimerais reussir a
associer une sequence de touches a une fonction particuliere.

En d'autres termes, j'aimerais pouvoir ajouter un fichier "header"
dans le buffer courant a l'endroit ou se trouve le curseur.



Suivant le type de fichier, il y a sans doute des modèles disponibles.
Par exemple, Google « Emacs auto-insert », j'ai de la chance, donne deux
façons de faire pour sgml.

Voir aussi http://www.emacswiki.org/cgi-bin/wiki/SkeletonMode, ou encore
http://emacs-template.sourceforge.net/details.html --- sans oublier les
niouzes
J'y arrive sans probleme en faisant *C-x i* et en specifiant le fichier
a ajouter, mais ce serait mieux avec quelque chose comme *C-i f* sans
avoir a specifier le nom du fichier.



Tu peux voir quelle fonction est appelée par « C-x i », en tapant

C-h c C-x i

Chez moi, c'est crypt-insert-file ; alors, après un « M-x apropos RET
crypt-insert-file RET » pour avoir la syntaxe, on peut définir une
fonction interactive :

(defun my-toto ()
"Insert contents of ~/toto"
(interactive)
(crypt-insert-file "~/toto"))

;; et l'associer à une combinaison de touche réservée aux utilisateurs
(global-set-key (kbd "C-c i") 'my-toto)

mais un (define-key XXXX-mode-map ...) serait sans doute plus judicieux.


Le but final est de pouvoir ajouter un en-tete de fichier, de fonction
rapidement.

Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/



Emacs est auto-documenté, « C-h i m Emacs RET » et « M-x apropos » sont
tes amis...

[...]
Merci.



De rien.
--
Jacques L'helgoualc'h


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Franck Joncourt
Le #9555351
--cvVnyQ+4j833TQvp
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, May 19, 2007 at 09:32:40PM +0200, Vincent Lefevre wrote:
On 2007-05-19 18:35:29 +0200, Franck Joncourt wrote:
> Je fouille actuellement ici :
>
> http://www.gnu.org/software/emacs/manual/html_node/
>
> Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
> veux faire ?

Je n'ai pas trop compris ce que tu veux faire, mais voici d'autres
liens qui peuvent être intéressants:

http://www.emacswiki.org/
http://tiny-tools.sourceforge.net/emacs-keys.html
http://people.via.ecp.fr/~flo/2000/emacs-tut/
http://www.tuteurs.ens.fr/unix/editeurs/emacs.html



Merci pour les liens.

J'ai reussi a faire ce que je voulais. Il me reste encore quelque points
louches a comprendre et ce sera parfait.

Ce que je voulais faire (en plus clair j'espere) :

Dans les differents developpements logiciels que je fais, je dois creer
plusieurs fichiers. Pour chaque fichier creer je dois lui mettre un en
tete (commentaire) pour donner de plus amples informations sur ce qu'il
fait : auteur, date, modifications apportees depuis la derniere
version, objectif du module ... Du coup, il est pratique de mettre des
touches de raccourcis pour charger les en-tetes rapidement. Il en est de
meme pour toutes les fonctions crees dans le module : parametres
d'entree, de sortie et description de la fonction.

Mise en place :

1/ Debuter l'enregistrement de la macro
-> C-x (

2/ Faire les differents pas de la macro

3/ Fin de l'enregistrement de la macro
-> C-x )

4/ Edition de la macro pour obtenir le code associé
-> M-x edit-last-kbd-macro

5/ Sauvegarde de la macro sous un nom specifique dans le fichier .emacs
(fset 'ma_macro
"C-xiC-?....") (C'est pas le vrai code :p!)

Il semble qu'il faille la mettre dans quelque chose comme .emacs.el

6/ Associer la macro a une touche
(global-set-key [f1] 'ma_macro)

Il me reste a associer la macro a une sequence de touches et a
comprendre un peu mieux le code de la macro.

--
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--cvVnyQ+4j833TQvp
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGT2SnxJBTTnXAif4RAkJEAJ9ew/PuwPGXT5hQjJRaH1zAtJrcgwCfbUoR
jX9v4JtVsKEqA8Iqv5JtYg8 =1QL5
-----END PGP SIGNATURE-----

--cvVnyQ+4j833TQvp--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
mouss
Le #9555321
Franck Joncourt wrote:
Bonjour,

Je suis en train de m'amuser avec emacs, et j'aimerais reussir a
associer une sequence de touches a une fonction particuliere.

En d'autres termes, j'aimerais pouvoir ajouter un fichier "header"
dans le buffer courant a l'endroit ou se trouve le curseur.

J'y arrive sans probleme en faisant *C-x i* et en specifiant le fichier
a ajouter, mais ce serait mieux avec quelque chose comme *C-i f* sans
avoir a specifier le nom du fichier.

Le but final est de pouvoir ajouter un en-tete de fichier, de fonction
rapidement.

Je fouille actuellement ici :

http://www.gnu.org/software/emacs/manual/html_node/

Quelqu'un aurait il un exemple qui pourrait s'apparenter a ce que je
veux faire ?





(defun insert-toplate ()
"documentation string" ; For help and
info.

(interactive) ; Make this user
accessible.


(insert-file "~/template.d/top.in")
)
; It too could be set to some specific key
combination.

(global-set-key "C-xC-i" 'insert-toplate)

La, c'est ctrl-x ctrl-i. Il faut choisir un raccourci qui n'est pas deja
pris, y compris par des modes qui chargent leur key-bindings.



--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Franck Joncourt
Le #9555331
--0vzXIDBeUiKkjNJl
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, May 19, 2007 at 10:49:56PM +0200, Jacques L'helgoualc'h wrote:
Franck Joncourt a écrit, samedi 19 mai 2007, à 18:35 :
> Bonjour,

bonsoir,

> Je suis en train de m'amuser avec emacs, et j'aimerais reussir a
> associer une sequence de touches a une fonction particuliere.
>
> En d'autres termes, j'aimerais pouvoir ajouter un fichier "header"
> dans le buffer courant a l'endroit ou se trouve le curseur.

Suivant le type de fichier, il y a sans doute des modèles disponib les.
Par exemple, Google « Emacs auto-insert », j'ai de la chance, donne deux
façons de faire pour sgml.

Voir aussi http://www.emacswiki.org/cgi-bin/wiki/SkeletonMode, ou encore
http://emacs-template.sourceforge.net/details.html --- sans oublier les
niouzes
> J'y arrive sans probleme en faisant *C-x i* et en specifiant le fichier
> a ajouter, mais ce serait mieux avec quelque chose comme *C-i f* sans
> avoir a specifier le nom du fichier.

Tu peux voir quelle fonction est appelée par « C-x i  », en tapant

C-h c C-x i

Chez moi, c'est crypt-insert-file ; alors, après un « M -x apropos RET
crypt-insert-file RET » pour avoir la syntaxe, on peut déf inir une
fonction interactive :

(defun my-toto ()
"Insert contents of ~/toto"
(interactive)
(crypt-insert-file "~/toto"))

;; et l'associer à une combinaison de touche réservée aux utilisateurs
(global-set-key (kbd "C-c i") 'my-toto)

mais un (define-key XXXX-mode-map ...) serait sans doute plus judicieux.


> Le but final est de pouvoir ajouter un en-tete de fichier, de fonction
> rapidement.
>
> Je fouille actuellement ici :
>
> http://www.gnu.org/software/emacs/manual/html_node/

Emacs est auto-documenté, « C-h i m Emacs RET » et « M-x apropos » sont
tes amis...




J'essaye tout ca demain. Ca m'a l'air beaucoup mieux que ma macro dont
je n'ai pas encore tout compris.

J'ai l'impression que je vais l'adorer ce *petit* emacs.

Merci a tous. Je vous tiens au courant de ma petite aventure.

--
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--0vzXIDBeUiKkjNJl
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGT2YaxJBTTnXAif4RAk2TAKCxBeHkeBAbzgqQUKeob26cBgo8VwCeImPw
gHP/5YYZjk3aCRIvqp7JcKM =bISz
-----END PGP SIGNATURE-----

--0vzXIDBeUiKkjNJl--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Franck Joncourt
Le #9555261
--zS7rBR6csb6tI2e1
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, May 19, 2007 at 11:03:22PM +0200, Franck Joncourt wrote:
On Sat, May 19, 2007 at 10:49:56PM +0200, Jacques L'helgoualc'h wrote:

Merci a tous. Je vous tiens au courant de ma petite aventure.




Alors voila, apres une nuit de repos, je patauge :

; fonction d'insertion du header
(defun insert-cfile-header ()
"Insert contents of ~/projects/templates/cfile_header"
(interactive)
(insert-file "~/projects/templates/cfile_header"))

; definition du hook personnel
(defun my-hook ()
(define-key cc-mode-map "C-c i" 'insert-cfile-header))
^^^^^^
J'ai aussi essaye C-ci :p!

; Ajout du hook au hook associe a cc-mode
(add-hook 'cc-mode-hook 'my-hook)

Mis comme cela ma fonction insert-cfile-header fonctionne grace a la
commande "M-x insert-cfile-header", cependant il n'y a rien a faire pour
activer le raccourci clavier. Je teste a chaque fois l'existence de ce
dernier avec la commande "C-h c C-c i".

Je precise que j'ouvre un fichier .c et qu'a l'ouverture emacs mais en
evidence "Loading cc-mod ... Done".


Par contre si je joue avec :

(global-set-key (kbd "C-c i") 'insert-cfile-header)

cela fonctionne.


J'ai essaye quelque chose du genre :

(add-hook 'tcl-mode-hook
'(lambda nil
(define-key tcl-mode-map "C-cC-t"
'tcl-compile)))

adapté evidemmment, mais rien.


J'ai regarde un peu partout, et surement pas trouve le bon document,
mais la je n'ai plus d'idee.
Donc si quelqu'un en a je serais heureux de la/les connaitre.

--
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--zS7rBR6csb6tI2e1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGUDEKxJBTTnXAif4RAgU4AKDE2xAT8rjBLBQZfVtPb+hAzQeT2ACeJJX0
MqHXhJsxCUEOIL2V+GM4LGM =Qha6
-----END PGP SIGNATURE-----

--zS7rBR6csb6tI2e1--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Vincent Lefevre
Le #9555241
On 2007-05-20 13:29:14 +0200, Franck Joncourt wrote:
; fonction d'insertion du header
(defun insert-cfile-header ()
"Insert contents of ~/projects/templates/cfile_header"
(interactive)
(insert-file "~/projects/templates/cfile_header"))

; definition du hook personnel
(defun my-hook ()
(define-key cc-mode-map "C-c i" 'insert-cfile-header))
^^^^^^
J'ai aussi essaye C-ci :p!

; Ajout du hook au hook associe a cc-mode
(add-hook 'cc-mode-hook 'my-hook)

Mis comme cela ma fonction insert-cfile-header fonctionne grace a la
commande "M-x insert-cfile-header", cependant il n'y a rien a faire pour
activer le raccourci clavier. Je teste a chaque fois l'existence de ce
dernier avec la commande "C-h c C-c i".



Peux-tu être plus clair? Il existe mais ne fonctionne pas, ou bien il
n'existe pas?

Peux-tu essayer le hook suivant?

(defun my-hook ()
(local-set-key "C-ci" 'insert-cfile-header))

Parce que j'avais le même genre de choses que toi, mais avec un
local-set-key. Les raccourcis définis avec (define-key *-mode-map ...)
sont peut-être pris en compte plus tôt (en gros, je dirais qu'il ne
faut pas les définir dans des hooks).

Je precise que j'ouvre un fichier .c et qu'a l'ouverture emacs mais en
evidence "Loading cc-mod ... Done".



Tu peux ajouter des messages avec

(message "foo")

pour voir si tel code est exécuté...

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Franck Joncourt
Le #9555211
--m1UC1K4AOz1Ywdkx
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, May 20, 2007 at 02:02:49PM +0200, Vincent Lefevre wrote:
On 2007-05-20 13:29:14 +0200, Franck Joncourt wrote:
>
> (defun my-hook ()
> (define-key cc-mode-map "C-c i" 'insert-cfile-header))
> ^^^^^^
> J'ai aussi essaye C-ci :p!
>
> ; Ajout du hook au hook associe a cc-mode
> (add-hook 'cc-mode-hook 'my-hook)
>
> Mis comme cela ma fonction insert-cfile-header fonctionne grace a la
> commande "M-x insert-cfile-header", cependant il n'y a rien a faire pour
> activer le raccourci clavier. Je teste a chaque fois l'existence de ce
> dernier avec la commande "C-h c C-c i".

Peux-tu être plus clair? Il existe mais ne fonctionne pas, ou bien il
n'existe pas?




Ma fonction insert-cfile-header existe et fonctionne bien.

Mais le retour de la commande "C-h c C-c i" est :

"C-c i is undefined"

Donc le raccourci n'existe pas.

Peux-tu essayer le hook suivant?

(defun my-hook ()
(local-set-key "C-ci" 'insert-cfile-header))



C'est le meme probleme.

Parce que j'avais le même genre de choses que toi, mais avec un
local-set-key. Les raccourcis définis avec (define-key *-mode-map .. .)
sont peut-être pris en compte plus tôt (en gros, je dirais qu'i l ne
faut pas les définir dans des hooks).




En fait, si je fais :

(define-key cc-mode-map "C-c i" 'insert-cfile-header)

tout seul sans aucun hook, il me repond une erreur quant à cc-mode ou
cc-mode-map je ne sais plus.
Ce qui me parait en soi logique puisque le mod semble etre charge apres
ma configuration .emacs. L'utilisation de (message "foo") dans mon
fichier de configuration emacs me le confirme.

Donc d'apres ce que j'ai lu et pu en comprendre, il faut creer des hooks
et les ajouter au hook du mod souhaite ; mais ca n'a pas l'air de
fonctionner. Il doit me manquer un petit quelque chose.

--
Franck Joncourt
http://www.debian.org - http://smhteam.info/wiki/
GPG server : pgpkeys.mit.edu
Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE

--m1UC1K4AOz1Ywdkx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFGUE1OxJBTTnXAif4RAjwfAJwILumPRzowiDDHgFiuI3jpwUraOwCgvfJV
OBizmwJLAJU6JdtB62hQfyI =Gepr
-----END PGP SIGNATURE-----

--m1UC1K4AOz1Ywdkx--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Publicité
Poster une réponse
Anonyme