Récupérer adresses mails

matthgeneration

Membre confirmé
9 Mars 2010
21
0
Bonjour,

J'ai fait un script via applescript qui récupère l'adresse mail de l'expéditeur d'une liste de mails. Mais maintenant, j'ai besoin de récupérer les adresses mails présentes dans le corps du mail. Pouvez vous m'aider ?

Je vous mets le script déjà créé :

tell application "Mail"
set emailsSource to the selection
end tell

repeat with anEmail in emailsSource
tell application "Mail"
set theSender to extract address from sender of anEmail
end tell
do shell script "echo " & theSender & " >> ~/Desktop/adressesmails"
end repeat


Pouvez vous m'aider ?
 
Bonjour,

Comme ceci
Bloc de code:
repeat with anEmail in emailsSource
	tell application "Mail"
		set theSender to extract address from sender of anEmail
		set theSource to source of anEmail
	end tell
	do shell script "echo " & theSender & " >> ~/Desktop/adressesmails
echo " & (quoted form of theSource) & "|/usr/bin/grep -Eiorh '([[:alnum:]_.-]+@[[:alnum:]_]+?\\.[[:alpha:].]+)' |/usr/bin/uniq -u >> ~/Desktop/adressesmails"
end repeat
 
Bonjour,

Je vous remercie d'avoir répondu si rapidement. Par contre je viens de tester et je ne récupère pas tous les mails.
En fait, suite à une campagne emailing, je voudrais récupérer les adresses mails pour les messages non délivrés.
Si vous avez d'autres propositions, je suis preneur.
 
Bonjour,

Je viens de tester et malheureusement je ne récupère toujours pas l'adresse voulue. Ci-joint un exemple de message sur lequel j'aimerais récupérer "adresse email à récupérer" :
Your message

Subject: sujet de mon mail refusé

was not delivered to:

adresse mail à récupérer

because:

Delivery time expired

Reporting-MTA: dns;serveurdnsducontact.local

Final-Recipient: rfc822;adresse mail à récupérer
Action: failed
Status: 5.0.0
Diagnostic-Code: X-Notes; Delivery time expired

De : "moi" <mon adresse >
Date : 16 février 2011 05:05:32 HNEC
À : "CONTACT" <adresse mail à récupérer>
Objet : sujet de mon mail refusé

ensuite vient le corps de mon mail

En tout cas merci pour vos propositions
 
Bonjour,

Bonjour,

Je viens de tester et malheureusement je ne récupère toujours pas l'adresse voulue. Ci-joint un exemple de message sur lequel j'aimerais récupérer
J'ai testé le script suivant sur le message de notification envoyé par macgeneration.
Je récupère trois fois ce texte "adresse mail à récupérer"
Bloc de code:
tell application "Mail" to set emailsSource to the selection

repeat with anEmail in emailsSource
	tell application "Mail"
		set theSender to extract address from sender of anEmail
		set contenu to content of anEmail
	end tell
	set t_emails to my emailsInContents(contenu)
	set t to quoted form of (theSender & "\\n" & t_emails)
	do shell script "echo " & t & " >> ~/Desktop/adressesmails"
end repeat

on emailsInContents(tContent)
	set L to paragraphs of tContent
	set tCount to count L
	set the_emails to ""
	repeat with i from 1 to tCount
		set t to item i of L
		if t starts with "Final-Recipient:" then
			set the_emails to the_emails & (my gettextitem(";", t)) & "\\n"
		else if t starts with "À : \"CONTACT\"" then
			set the_emails to the_emails & (my gettextitem("<", t)) & "\\n"
			exit repeat
		else if t starts with "was not delivered to:" then
			set the_emails to the_emails & (item (i + 2) of L) & "\\n"
		end if
	end repeat
	return the_emails
end emailsInContents

on gettextitem(separ, tString)
	set oldTid to text item delimiters
	set text item delimiters to separ
	try
		set tString to text item 2 of tString
		if separ = "<" then set tString to text 1 thru -2 of tString
	end try
	set text item delimiters to oldTid
	return tString
end gettextitem
 
Bonsoir,

J'ai essayé le dernier script que vous m'avez fait parvenir et il fonctionne parfaitement.

Je vous remercie d'avoir répondu aussi rapidement à ma demande et aux différentes propositions que vous avez fait! ;)