Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire
des mails, et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se
faire automatiquement dans un script shell.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Chris
Salut,
C'est un boulot pour perl , mais peut être il existe plus simple. avec fetchmail peut etre ?
A+ chris
Eric Latombe wrote:
Salut,
Je sais envoyé un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails, et à l'intérieur de ceux ci en extraire des pièces attachées (des fichiers XML).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Merci
Salut,
C'est un boulot pour perl , mais peut être il existe plus simple.
avec fetchmail peut etre ?
A+
chris
Eric Latombe wrote:
Salut,
Je sais envoyé un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire
des mails, et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se
faire automatiquement dans un script shell.
C'est un boulot pour perl , mais peut être il existe plus simple. avec fetchmail peut etre ?
A+ chris
Eric Latombe wrote:
Salut,
Je sais envoyé un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails, et à l'intérieur de ceux ci en extraire des pièces attachées (des fichiers XML).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Merci
David LE BOURGEOIS
Salut,
Salut.
Je sais envoyé un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails,
fetchmail le fait très bien.
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Merci
De rien. Bon courage.
-- David LE BOURGEOIS
Salut,
Salut.
Je sais envoyé un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire
des mails,
fetchmail le fait très bien.
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se
faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails,
fetchmail le fait très bien.
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Merci
De rien. Bon courage.
-- David LE BOURGEOIS
Pascal Bourguignon
David LE BOURGEOIS writes:
Salut,
Salut.
Je sais envoyer un mail via la commande mail. Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails,
fetchmail le fait très bien.
Mais c'est aussi facile à faire en bash:
------------------------------------------------------------------------ #!/bin/bash #***************************************************************************** #FILE: pop.sh #LANGUAGE: sh #SYSTEM: POSIX #USER-INTERFACE: NONE #DESCRIPTION # # A simple POP-3 client. # #AUTHORS # <PJB> Pascal Bourguignon #MODIFICATIONS # 2004-01-17 <PJB> Created. #BUGS #LEGAL # GPL # # Copyright Pascal Bourguignon 2004 - 2004 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version # 2 of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public # License along with this program; if not, write to the Free # Software Foundation, Inc., 59 Temple Place, Suite 330, # Boston, MA 02111-1307 USA #*****************************************************************************
POP_SERVER=pop.example.com POP_USER=XXXXXXXX POP_PASS=YYYYYYYY SPOOL=/var/spool/mail/$POP_USER/ delete=0 # set to 1 to delete messages from mailbox after transfer. trace=0
function get_ok () { read code one two three rest 0<&3 case "$code" in +OK) true ;; *) echo "Error, got: $code $one $two $three $rest" >&2 ;;# ; exit 1 ;; esac if [ $trace -ne 0 ] ; then echo "GOT $code" >&2; fi }
function get_line () { read line 0<&3 echo "$line" | tr -d ' 15' }
if [ $trace -ne 0 ] ; then echo "Opening session with $POP_SERVER." >&2 ; fi 3<> /dev/tcp/$POP_SERVER/110 get_ok echo "USER $POP_USER" 1>&3 get_ok echo "PASS $POP_PASS" 1>&3 get_ok if [ $trace -ne 0 ] ; then echo "LOGIN complete." >&2 ; fi if [ "$three" -eq 0 ] ; then echo "No message in mailbox." >&2 exit 1 fi
echo "LIST" 1>&3 get_ok mcount=0 reading=1 while [ $reading -ne 0 ] ; do read index size 0<&3 index=$(echo "$index" | tr -d ' 15') if [ $trace -ne 0 ] ; then echo "$index $size" >&2 ; fi case "$index" in .) reading=0 ;; *) message[$mcount]=$index ; mcount=$(($mcount + 1)) ;; esac done if [ $trace -ne 0 ] ; then echo "GOT message list: $mcount messages." >&2 ; fi
mindex=0 while [ $mindex -lt $mcount ] ; do if [ $trace -ne 0 ] ; then echo "Reading message ${message[$mindex]}" >&2 ; fi echo "RETR ${message[$mindex]}" 1>&3 get_ok file="$SPOOL/message-$$-${message[$mindex]}" reading=1 while [ $reading -ne 0 ] ; do read line 0<&3 line="$(echo "$line" | tr -d ' 15')" case "$line" in .) reading=0 ;; *) echo "$line" >> "$file" ; if [ $trace -ne 0 ] ; then echo -n . >&2 ; fi ;; esac done if [ $trace -ne 0 ] ; then echo '' >&2 ; fi mindex=$(($mindex + 1)) if [ $delete -ne 0 ] ; then if [ $trace -ne 0 ] ; then echo "Deleting message ${message[$mindex]}" >&2 ; fi echo "DELE ${message[$mindex]}" 1>&3 get_ok fi done
if [ $trace -ne 0 ] ; then echo "Closing session with $POP_SERVER." >&2 ; fi echo QUIT 1>&3 read line 0<&3
for message in $( pop.sh ) ; do process $message done
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
De nos jours, on a plus de chance d'y arriver avec mmencode (et/ou metamail).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Il a dit shell pas perl!
Merci
De rien. Bon courage.
-- __Pascal_Bourguignon__ http://www.informatimago.com/ There is no worse tyranny than to force a man to pay for what he doesn't want merely because you think it would be good for him.--Robert Heinlein http://www.theadvocates.org/
David LE BOURGEOIS <david.lebourgeois-nospam@free.fr> writes:
Salut,
Salut.
Je sais envoyer un mail via la commande mail.
Par contre j'aimerais pouvoir me connecter à un serveur POP pour y
extraire
des mails,
fetchmail le fait très bien.
Mais c'est aussi facile à faire en bash:
------------------------------------------------------------------------
#!/bin/bash
#*****************************************************************************
#FILE: pop.sh
#LANGUAGE: sh
#SYSTEM: POSIX
#USER-INTERFACE: NONE
#DESCRIPTION
#
# A simple POP-3 client.
#
#AUTHORS
# <PJB> Pascal Bourguignon <pjb@informatimago.com>
#MODIFICATIONS
# 2004-01-17 <PJB> Created.
#BUGS
#LEGAL
# GPL
#
# Copyright Pascal Bourguignon 2004 - 2004
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version
# 2 of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 59 Temple Place, Suite 330,
# Boston, MA 02111-1307 USA
#*****************************************************************************
POP_SERVER=pop.example.com
POP_USER=XXXXXXXX
POP_PASS=YYYYYYYY
SPOOL=/var/spool/mail/$POP_USER/
delete=0 # set to 1 to delete messages from mailbox after transfer.
trace=0
function get_ok () {
read code one two three rest 0<&3
case "$code" in
+OK) true ;;
*) echo "Error, got: $code $one $two $three $rest" >&2 ;;# ; exit 1 ;;
esac
if [ $trace -ne 0 ] ; then echo "GOT $code" >&2; fi
}
function get_line () {
read line 0<&3
echo "$line" | tr -d ' 15'
}
if [ $trace -ne 0 ] ; then echo "Opening session with $POP_SERVER." >&2 ; fi
3<> /dev/tcp/$POP_SERVER/110
get_ok
echo "USER $POP_USER" 1>&3
get_ok
echo "PASS $POP_PASS" 1>&3
get_ok
if [ $trace -ne 0 ] ; then echo "LOGIN complete." >&2 ; fi
if [ "$three" -eq 0 ] ; then
echo "No message in mailbox." >&2
exit 1
fi
echo "LIST" 1>&3
get_ok
mcount=0
reading=1
while [ $reading -ne 0 ] ; do
read index size 0<&3
index=$(echo "$index" | tr -d ' 15')
if [ $trace -ne 0 ] ; then echo "$index $size" >&2 ; fi
case "$index" in
.) reading=0 ;;
*) message[$mcount]=$index ; mcount=$(($mcount + 1)) ;;
esac
done
if [ $trace -ne 0 ] ; then echo "GOT message list: $mcount messages." >&2 ; fi
mindex=0
while [ $mindex -lt $mcount ] ; do
if [ $trace -ne 0 ] ; then echo "Reading message ${message[$mindex]}" >&2 ; fi
echo "RETR ${message[$mindex]}" 1>&3
get_ok
file="$SPOOL/message-$$-${message[$mindex]}"
reading=1
while [ $reading -ne 0 ] ; do
read line 0<&3
line="$(echo "$line" | tr -d ' 15')"
case "$line" in
.) reading=0 ;;
*) echo "$line" >> "$file" ; if [ $trace -ne 0 ] ; then echo -n . >&2 ; fi ;;
esac
done
if [ $trace -ne 0 ] ; then echo '' >&2 ; fi
mindex=$(($mindex + 1))
if [ $delete -ne 0 ] ; then
if [ $trace -ne 0 ] ; then echo "Deleting message ${message[$mindex]}" >&2 ; fi
echo "DELE ${message[$mindex]}" 1>&3
get_ok
fi
done
if [ $trace -ne 0 ] ; then echo "Closing session with $POP_SERVER." >&2 ; fi
echo QUIT 1>&3
read line 0<&3
for message in $( pop.sh ) ; do
process $message
done
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
De nos jours, on a plus de chance d'y arriver avec mmencode (et/ou metamail).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout
devant se faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Il a dit shell pas perl!
Merci
De rien. Bon courage.
--
__Pascal_Bourguignon__ http://www.informatimago.com/
There is no worse tyranny than to force a man to pay for what he doesn't
want merely because you think it would be good for him.--Robert Heinlein
http://www.theadvocates.org/
Je sais envoyer un mail via la commande mail. Par contre j'aimerais pouvoir me connecter à un serveur POP pour y extraire des mails,
fetchmail le fait très bien.
Mais c'est aussi facile à faire en bash:
------------------------------------------------------------------------ #!/bin/bash #***************************************************************************** #FILE: pop.sh #LANGUAGE: sh #SYSTEM: POSIX #USER-INTERFACE: NONE #DESCRIPTION # # A simple POP-3 client. # #AUTHORS # <PJB> Pascal Bourguignon #MODIFICATIONS # 2004-01-17 <PJB> Created. #BUGS #LEGAL # GPL # # Copyright Pascal Bourguignon 2004 - 2004 # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version # 2 of the License, or (at your option) any later version. # # This program is distributed in the hope that it will be # useful, but WITHOUT ANY WARRANTY; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # PURPOSE. See the GNU General Public License for more details. # # You should have received a copy of the GNU General Public # License along with this program; if not, write to the Free # Software Foundation, Inc., 59 Temple Place, Suite 330, # Boston, MA 02111-1307 USA #*****************************************************************************
POP_SERVER=pop.example.com POP_USER=XXXXXXXX POP_PASS=YYYYYYYY SPOOL=/var/spool/mail/$POP_USER/ delete=0 # set to 1 to delete messages from mailbox after transfer. trace=0
function get_ok () { read code one two three rest 0<&3 case "$code" in +OK) true ;; *) echo "Error, got: $code $one $two $three $rest" >&2 ;;# ; exit 1 ;; esac if [ $trace -ne 0 ] ; then echo "GOT $code" >&2; fi }
function get_line () { read line 0<&3 echo "$line" | tr -d ' 15' }
if [ $trace -ne 0 ] ; then echo "Opening session with $POP_SERVER." >&2 ; fi 3<> /dev/tcp/$POP_SERVER/110 get_ok echo "USER $POP_USER" 1>&3 get_ok echo "PASS $POP_PASS" 1>&3 get_ok if [ $trace -ne 0 ] ; then echo "LOGIN complete." >&2 ; fi if [ "$three" -eq 0 ] ; then echo "No message in mailbox." >&2 exit 1 fi
echo "LIST" 1>&3 get_ok mcount=0 reading=1 while [ $reading -ne 0 ] ; do read index size 0<&3 index=$(echo "$index" | tr -d ' 15') if [ $trace -ne 0 ] ; then echo "$index $size" >&2 ; fi case "$index" in .) reading=0 ;; *) message[$mcount]=$index ; mcount=$(($mcount + 1)) ;; esac done if [ $trace -ne 0 ] ; then echo "GOT message list: $mcount messages." >&2 ; fi
mindex=0 while [ $mindex -lt $mcount ] ; do if [ $trace -ne 0 ] ; then echo "Reading message ${message[$mindex]}" >&2 ; fi echo "RETR ${message[$mindex]}" 1>&3 get_ok file="$SPOOL/message-$$-${message[$mindex]}" reading=1 while [ $reading -ne 0 ] ; do read line 0<&3 line="$(echo "$line" | tr -d ' 15')" case "$line" in .) reading=0 ;; *) echo "$line" >> "$file" ; if [ $trace -ne 0 ] ; then echo -n . >&2 ; fi ;; esac done if [ $trace -ne 0 ] ; then echo '' >&2 ; fi mindex=$(($mindex + 1)) if [ $delete -ne 0 ] ; then if [ $trace -ne 0 ] ; then echo "Deleting message ${message[$mindex]}" >&2 ; fi echo "DELE ${message[$mindex]}" 1>&3 get_ok fi done
if [ $trace -ne 0 ] ; then echo "Closing session with $POP_SERVER." >&2 ; fi echo QUIT 1>&3 read line 0<&3
for message in $( pop.sh ) ; do process $message done
et à l'intérieur de ceux ci en extraire des pièces attachées (des
fichiers XML).
uudecode permet d'extraire les pièces jointes créées avec uuencode
De nos jours, on a plus de chance d'y arriver avec mmencode (et/ou metamail).
Quelqu'un aurait il une idée sur la manière de le faire? Le tout devant se faire automatiquement dans un script shell.
Comme l'a dit Chris, Perl doit permettre de s'en sortir.
Il a dit shell pas perl!
Merci
De rien. Bon courage.
-- __Pascal_Bourguignon__ http://www.informatimago.com/ There is no worse tyranny than to force a man to pay for what he doesn't want merely because you think it would be good for him.--Robert Heinlein http://www.theadvocates.org/