# Récupérer adresses mails



## matthgeneration (17 Mars 2011)

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 ?


----------



## Anonyme (18 Mars 2011)

Bonjour,

Comme ceci

```
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
```


----------



## matthgeneration (21 Mars 2011)

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.


----------



## Anonyme (21 Mars 2011)

Bonjour,


matthgeneration a dit:


> Par contre je viens de tester et je ne récupère pas tous les mails.


Ici ça fonctionne bien, cette commande n'affiche pas tous les emails, car il supprime les doublons.
Supprime 
	
	



```
|/usr/bin/uniq -u
```
 pour tous les avoir.



matthgeneration a dit:


> Si vous avez d'autres propositions, je suis preneur.


Je n'ai pas d'autre idée.


----------



## matthgeneration (23 Mars 2011)

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é
> 
> ...



En tout cas merci pour vos propositions


----------



## Anonyme (23 Mars 2011)

Bonjour,



matthgeneration a dit:


> 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*" 

```
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
```


----------



## matthgeneration (23 Mars 2011)

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!


----------

