OVH Cloud OVH Cloud

accuse de reception e-mail

40 réponses
Avatar
Jean-Yves F. Barbier
Salut liste,

existe-t'il une possibilit=E9 d'obtenir un accus=E9 de r=E9ception automa=
tique
d'e-mail, invisible pour le r=E9cipiendaire?
--=20
I've never been drunk, but often I've been overserved.
-- George Gobel

10 réponses

1 2 3 4
Avatar
Stephane Bortzmeyer
On Fri, Jun 01, 2007 at 08:33:35AM +0200,
François Boisson wrote
a message of 65 lines which said:

$ getspam q1Hqd4c-0000wy | signalspam



getspam affiche tout le message ou bien seulement le contenu ?
SignalSpam attend un message complet, syntaxe RFC 2822.

mais ça me sort systématiquement
Error 400 while reporting the spam



D'après la doc de l'API
(http://www.signal-spam.fr/index.php/frontend/extensions/api_de_signalement),
400 désigne une erreur dans le formulaire envoyé "Il y a un problème
avec le format du POST (par exemple le Content TransferEncoding n'est
pas base64 ou le POST manque un message à signaler)." Pas clair.

Je soupçonne que getspam n'a envoyé que le corps du message.

Que faut-il envoyer à ton script?



Un message complet, avec From, Subject et tout.

Au fait, une nouvelle version est en ligne, elle est normalement plus
robuste.


--
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
Avatar
François Boisson
> D'après la doc de l'API
(http://www.signal-spam.fr/index.php/frontend/extensions/api_de_signalement),
400 désigne une erreur dans le formulaire envoyé "Il y a un problème
avec le format du POST (par exemple le Content TransferEncoding n'est
pas base64 ou le POST manque un message à signaler)." Pas clair.

Je soupçonne que getspam n'a envoyé que le corps du message.

> Que faut-il envoyer à ton script?

Un message complet, avec From, Subject et tout.



Ce message devrait convenir:
$ getspam q1Htfoh-0000D0
Received: from mail2000-6.so-net.net.tw ([61.64.127.22])
by alf94-3-82-66-248-156.fbx.proxad.net with smtp (Exim 3.36 #1 (Debian))
id 1HtfoU-0003OL-00
for ; Thu, 31 May 2007 10:15:19 +0200
X-M2KID: 465E83D6.0004EB9B
Received: from 10.1.9.25
by mail2000-6.so-net.net.tw with Mail2000 ESMTP Server V3.20S(57608:5:AUTH_RELAY)
(envelope-from ); Thu, 31 May 2007 16:14:15 +0800 (CST)
X-M2KID: 465E7F37.0001260C
Received: from 61.64.189.230
by mail2000-3.so-net.net.tw with Mail2000 ESMTP Server V3.20S(49063:0:AUTH_RELAY)
(envelope-from ); Thu, 31 May 2007 15:54:11 +0800 (CST)
Message-ID: <000501c7a359$20df5b60$
From:
To:
Bcc:
Subject: =?windows-1251?B?3ubt7uUq4ufs7vD85Swq5+Dq4PI=? Date: Thu, 31 May 2007 11:55:59 +0400
MIME-Version: 1.0
Content-Type: text/plain;
format=flowed;
charset="windows-1251"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced by Microsoft MimeOLE 6.00.2900.2180
X-Scanner: exiscan *1HtfoU-0003OL-00*IRGZEZLtIXI*

7zkhe


$ getspam q1Htfoh-0000D0 | signalspam
Error 400 while reporting the spam
$

Je ne vois pas où le message que je fournis n'est pas «aux normes». Mon serveur
est sous sarge mais je ne crois pas que ça vienne de là.

François Boisson


--
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
Avatar
Vincent Bernat
OoO En cette matinée ensoleillée du vendredi 01 juin 2007, vers 09:35,
mouss disait:

Cette solution ne fonctionnera pas. Elle prendra effet uniquement quand
on fait répondre à l'auteur.





non, ca marche meme avec un "repondre à tous" pourvu que le MUA
respecte le Reply-To (qui est censé prendre le dessus sur le From).



Même avec un Thunderbird, cela ne fonctionne pas. Reply-To indique
seulement qu'il ne faut pas répondre à l'auteur en utilisant l'adresse
indiquée en From, mais qu'il faut utiliser cette adresse. En faisant
répondre à tous dans Thunderbird, cela répond à l'adresse contenue dans
le Reply-To ainsi que les adresses contenues dans le champs Cc.

Pour s'en convaincre, suffit d'aller regarder dans les sources de
Thunderbird.

Extraits de ./mozilla/mailnews/compose/src/nsMsgCompose.cpp

,----
| if (type == nsIMsgCompType::ReplyAll)
| {
| mHeaders->ExtractHeader(HEADER_TO, PR_TRUE, getter_Copies(outCString));
| if (outCString)
| {
| mMimeConverter->DecodeMimeHeader(outCString, recipient, charset);
| }
|
| mHeaders->ExtractHeader(HEADER_CC, PR_TRUE, getter_Copies(outCString));
| if (outCString)
| {
| mMimeConverter->DecodeMimeHeader(outCString, cc, charset);
| }
|
| // preserve BCC for the reply-to-self case
| mHeaders->ExtractHeader(HEADER_BCC, PR_TRUE, getter_Copies(outCString));
| if (outCString)
| {
| mMimeConverter->DecodeMimeHeader(outCString, bcc, charset);
| if (bcc.Length() > 0)
| compFields->SetBcc(bcc);
| }
|
| mHeaders->ExtractHeader(HEADER_MAIL_FOLLOWUP_TO, PR_TRUE, getter_Copies(outCString));
| if (outCString)
| {
| mMimeConverter->DecodeMimeHeader(outCString, mailFollowupTo, charset);
| }
|
| if (! mailFollowupTo.IsEmpty())
| { // handle Mail-Followup-To (http://cr.yp.to/proto/replyto.html)
| compFields->SetTo(mailFollowupTo);
| }
| else
| { // default behaviour for messages without Mail-Followup-To
| if (recipient.Length() > 0 && cc.Length() > 0)
| recipient.AppendLiteral(", ");
| recipient += cc;
| compFields->SetCc(recipient);
| }
|
| needToRemoveDup = PR_TRUE;
| }
`----

Donc, si on répond à tous, il ne consulte même pas le champ Reply-To !

,----
| if (! ((type == nsIMsgCompType::ReplyAll) && ! mailFollowupTo.IsEmpty()))
| {
| if (! mailReplyTo.IsEmpty())
| { // handle Mail-Reply-To (http://cr.yp.to/proto/replyto.html)
| compFields->SetTo(mailReplyTo);
| needToRemoveDup = PR_TRUE;
| }
| else if (! replyTo.IsEmpty())
| { // default behaviour for messages without Mail-Reply-To
| compFields->SetTo(replyTo);
| needToRemoveDup = PR_TRUE;
| }
| }
`----

Le seule endroit où il colle le champ reply-to, c'est quand on ne répond
pas à tous.
--
panic("kmem_cache_init(): Offsets are wrong - I've been messed with!");
2.2.16 /usr/src/linux/mm/slab.c


--
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
Avatar
mouss
Vincent Bernat wrote:
OoO En cette matinée ensoleillée du vendredi 01 juin 2007, vers 09:35,
mouss disait:


Cette solution ne fonctionnera pas. Elle prendra effet uniquement quand
on fait répondre à l'auteur.







non, ca marche meme avec un "repondre à tous" pourvu que le MUA
respecte le Reply-To (qui est censé prendre le dessus sur le From).




Même avec un Thunderbird, cela ne fonctionne pas. Reply-To indique
seulement qu'il ne faut pas répondre à l'auteur en utilisant l'adresse
indiquée en From, mais qu'il faut utiliser cette adresse. En faisant
répondre à tous dans Thunderbird, cela répond à l'adresse contenue dans
le Reply-To ainsi que les adresses contenues dans le champs Cc.



je ne parle pas des CC, mais du "From". si tu mets
Reply-To:
et que tu envoies un message à la liste, tu n'auras pas de réponse
individuelle quand quelqu'un clique sur "répondre à tous".

bien sûr, ça ne va pas virer les CC.

sinon, thunderbird respecte normalement l'entête "Mail-Followup-To:".
mais je ne sais pas ce que font les autres MUAs.

Pour s'en convaincre, suffit d'aller regarder dans les sources de
Thunderbird.




je n'ai pas regardé le code, mais j'utilise TB (désolé) et quand je
"réponds à tous", ça utilise bien le Reply-To quand il y en a un.


--
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
Avatar
mouss
François Boisson wrote:
D'après la doc de l'API
(http://www.signal-spam.fr/index.php/frontend/extensions/api_de_signalement),
400 désigne une erreur dans le formulaire envoyé "Il y a un problème
avec le format du POST (par exemple le Content TransferEncoding n'est
pas base64 ou le POST manque un message à signaler)." Pas clair.

Je soupçonne que getspam n'a envoyé que le corps du message.


Que faut-il envoyer à ton script?



Un message complet, avec From, Subject et tout.




Ce message devrait convenir:
$ getspam q1Htfoh-0000D0
Received: from mail2000-6.so-net.net.tw ([61.64.127.22])
by alf94-3-82-66-248-156.fbx.proxad.net with smtp (Exim 3.36 #1 (Debian))
id 1HtfoU-0003OL-00
for ; Thu, 31 May 2007 10:15:19 +0200
X-M2KID: 465E83D6.0004EB9B
Received: from 10.1.9.25
by mail2000-6.so-net.net.tw with Mail2000 ESMTP Server V3.20S(57608:5:AUTH_RELAY)
(envelope-from ); Thu, 31 May 2007 16:14:15 +0800 (CST)
X-M2KID: 465E7F37.0001260C
Received: from 61.64.189.230
by mail2000-3.so-net.net.tw with Mail2000 ESMTP Server V3.20S(49063:0:AUTH_RELAY)
(envelope-from ); Thu, 31 May 2007 15:54:11 +0800 (CST)
Message-ID: <000501c7a359$20df5b60$
From:
To:
Bcc:
Subject: =?windows-1251?B?3ubt7uUq4ufs7vD85Swq5+Dq4PI=? > Date: Thu, 31 May 2007 11:55:59 +0400
MIME-Version: 1.0
Content-Type: text/plain;
format=flowed;
charset="windows-1251"
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced by Microsoft MimeOLE 6.00.2900.2180
X-Scanner: exiscan *1HtfoU-0003OL-00*IRGZEZLtIXI*

7zkhe


$ getspam q1Htfoh-0000D0 | signalspam
Error 400 while reporting the spam
$

Je ne vois pas où le message que je fournis n'est pas «aux normes». Mon serveur
est sous sarge mais je ne crois pas que ça vienne de là.





je ne vois pas de "Return-Path:". http://www.ietf.org/rfc/rfc2821.txt dit:

When the delivery SMTP server makes the "final delivery" of a
message, it inserts a return-path line at the beginning of the mail
data. This use of return-path is required; mail systems MUST support
it. The return-path line preserves the information in the <reverse-
path> from the MAIL command. Here, final delivery means the message
has left the SMTP environment. Normally, this would mean it had been
delivered to the destination user or an associated mail drop, but in
some cases it may be further processed and transmitted by another
mail system.




--
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
Avatar
Stephane Bortzmeyer
On Fri, Jun 01, 2007 at 10:45:53PM +0200,
François Boisson wrote
a message of 65 lines which said:

Je ne vois pas où le message que je fournis n'est pas «aux normes».



Il est en effet normal, je viens de le soumettre via mon script, aucun
problème n'a été signalé.

Mon serveur est sous sarge



J'ai testé depuis une machine sarge.

Donc, seule solution, éditer le script pour remplacer le --silent par
un --verbose et voir ce que curl raconte.


--
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
Avatar
Vincent Bernat
OoO En ce début d'après-midi nuageux du samedi 02 juin 2007, vers 14:31,
mouss disait:

Même avec un Thunderbird, cela ne fonctionne pas. Reply-To indique
seulement qu'il ne faut pas répondre à l'auteur en utilisant l'adresse
indiquée en From, mais qu'il faut utiliser cette adresse. En faisant
répondre à tous dans Thunderbird, cela répond à l'adresse contenue dans
le Reply-To ainsi que les adresses contenues dans le champs Cc.



je ne parle pas des CC, mais du "From". si tu mets
Reply-To:
et que tu envoies un message à la liste, tu n'auras pas de réponse
individuelle quand quelqu'un clique sur "répondre à tous".



bien sûr, ça ne va pas virer les CC.



Ah ok, j'avais mal compris.
--
I WILL NOT DEMAND WHAT I'M WORTH
I WILL NOT DEMAND WHAT I'M WORTH
I WILL NOT DEMAND WHAT I'M WORTH
-+- Bart Simpson on chalkboard in episode 5F14


--
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
Avatar
François Boisson
Le Sat, 2 Jun 2007 15:13:32 +0200
Stephane Bortzmeyer a écrit:

On Fri, Jun 01, 2007 at 10:45:53PM +0200,
François Boisson wrote
a message of 65 lines which said:

> Je ne vois pas où le message que je fournis n'est pas «aux normes».

Il est en effet normal, je viens de le soumettre via mon script, aucun
problème n'a été signalé.

> Mon serveur est sous sarge

J'ai testé depuis une machine sarge.

Donc, seule solution, éditer le script pour remplacer le --silent par
un --verbose et voir ce que curl raconte.




Pas grand chose, j'ai fini par tracer curl et récupérer les données échangées
(option --trace), Tu peux récupérer ça sur http://boisson.homeip.net/curl

Apparemment c'est au niveau même de l'authentification que ça coince...
Il n'envoit même pas le login semble-t-il...

François Boisson


--
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
Avatar
Jacques L'helgoualc'h
François Boisson a écrit, vendredi 1 juin 2007, à 08:33 :
[...] Le script suivant permet de récupérer le spam
initial à partir du message de spamassassin:

#!/bin/sh
BORNE=`grep boundary $1 | head -n 1 | sed -e s'/^.*----=(.*)"/1/'`
DEBUT=`grep -n $BORNE $1 | tail -n 2 | head -n 1 | sed -e 's/:.*$//'`
FIN=`grep -n $BORNE $1 | tail -n 1 | sed -e 's/:.*$//'`
LONGUEUR=$[$FIN-$DEBUT-6]
tail -n +$[$DEBUT+6] $1 | head -n $LONGUEUR



On peut simplifier :

#!/bin/sh
BORNE="$(sed -ne '/boundary/{s/^.*="([^"]*)"/1/p;q}' < "$1")"
sed -e "
1,/^--${BORNE}$/d # efface le début,
1,/^--${BORNE}$/d # le commentaire spamassassin,
1,/^$/d # les 4 lignes Content-* et la ligne vide,
/^--${BORNE}--$/,$ d # et la fin.
" < "$1"

(j'ai une variante à un seul sed, mais nettement plus lente).

Il faudrait peut-être améliorer l'adresse /boundary/, ce mot pouvant
apparaître avant dans les autres en-têtes.
--
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
Avatar
Stephane Bortzmeyer
On Sat, Jun 02, 2007 at 06:55:23PM +0200,
François Boisson wrote
a message of 37 lines which said:

Pas grand chose, j'ai fini par tracer curl et récupérer les données
échangées (option --trace), Tu peux récupérer ça sur
http://boisson.homeip.net/curl



J'ai fait pareil sur ma "sarge", j'ai pratiquement la même trace et,
pour moi, ça marche, je reçois bien un code 202 (accepté).

Je suis à court d'idées. Et le script Python
(http://signal.eu.org/blog/2007/05/15/lutte-contre-le-spam/) ? Il est
très bien aussi.

Apparemment c'est au niveau même de l'authentification que ça
coince... Il n'envoit même pas le login semble-t-il...



Si, si (autrement, il y aurait une erreur 401) :

0010: 65 72 20 48 54 54 50 2f 31 2e 31 0d 0a 41 75 74 er HTTP/1.1..Aut
0020: 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 horization: Basi
0030: 63 20 5a 6d 4a 76 61 58 4e 7a 62 32 34 36 51 57 c ZmJvaXNzb246QW
0040: 78 6d 62 33 4a 30 0d 0a 55 73 65 72 2d 41 67 65 xmb3J0..User-Age

mais encodé en Base64 comme le prévoit la norme HTTP. RFC 2617 :

To receive authorization, the client sends the userid and password,
separated by a single colon (":") character, within a base64 [7]
encoded string in the credentials.
...
If the user agent wishes to send the userid "Aladdin" and password
"open sesame", it would use the following header field:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=

--
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
1 2 3 4