From: BJT on

I would like to do two things:

1. Like Entourage, have a date stamp when I last either received or
sent a message to that contact.

2. Would like to have a date stamp when I first creat a contact.

Any app do that?

Thanks

B
From: Richard Maine on
BJT <bruce(a)hotmail.com> wrote:

> I would like to do two things:
>
> 1. Like Entourage, have a date stamp when I last either received or
> sent a message to that contact.
>
> 2. Would like to have a date stamp when I first creat a contact.
>
> Any app do that?

I don't know Entourage, but I understand your descriptions.

The first creation one is easy. Just add a custom date field (see
preferences/template). Manually fill it in when you create the contact.
Yes, the fill-in is manual, but you are creating the contact and usually
manually editing it anyway, so it doesn't add much. In my case, I don't
have a first date, but I do have a custom date field I name "as of",
which I use to indicate a date when the address was known to be valid. I
tend to set that when creating a contact (or updating it).

Last recieved or sent a message would be unreasonable to do manually.

--
Richard Maine | Good judgment comes from experience;
email: last name at domain . net | experience comes from bad judgment.
domain: summertriangle | -- Mark Twain
From: Jolly Roger on
In article <180320101303533210%bruce(a)hotmail.com>,
BJT <bruce(a)hotmail.com> wrote:

> I would like to do two things:
>
> 1. Like Entourage, have a date stamp when I last either received or
> sent a message to that contact.

Write a small Applescript script that runs each time you receive a
message, and looks to see if there is an entry in your address book for
that person. If so, have it add a custom date field to the contact with
the current date.

--
Send responses to the relevant news group rather than email to me.
E-mail sent to this address may be devoured by my very hungry SPAM
filter. Due to Google's refusal to prevent spammers from posting
messages through their servers, I often ignore posts from Google
Groups. Use a real news client if you want me to see your posts.

JR
From: Jolly Roger on
In article <jollyroger-8A9D0A.12573318032010(a)news.individual.net>,
Jolly Roger <jollyroger(a)pobox.com> wrote:

> In article <180320101303533210%bruce(a)hotmail.com>,
> BJT <bruce(a)hotmail.com> wrote:
>
> > I would like to do two things:
> >
> > 1. Like Entourage, have a date stamp when I last either received or
> > sent a message to that contact.
>
> Write a small Applescript script that runs each time you receive a
> message, and looks to see if there is an entry in your address book for
> that person. If so, have it add a custom date field to the contact with
> the current date.

I'm at home sick, so I went ahead and wrote one for you because I'm such
a nice guy. : )

Create a rule in Mail that execute the script below. The script grabs
the email address of the selected message (should be the incoming
message for a rule, IIRC), and then searches your address book for a
person with that email address. If it finds a person with that email
address, it looks for a custom date field named "Last Contact" for that
person. If it finds one, it sets the value to the current date. If it
doesn't find one, it creates one.

Some caveats:

* I wrote this quickly while sick, so it doesn't have much error
handling; it seems to work fine in my limited testing with my own emails
and address book.
* the script assumes the sender will be in the form of: "Sender Name
<email(a)address.com>", and as such may not work correctly if the format
is different, for whatever reason

Here's the script (watch for line wraps):

-- begin script
property customDateLabel : "Last Contact"

tell application "Mail"
set messageList to the selection
repeat with nextMessage in messageList
set senderNameAndAddress to nextMessage's sender

set savedelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to "<"
set split to the text items of senderNameAndAddress
set AppleScript's text item delimiters to savedelims
set senderName to (characters 1 through -2 of split's item 1)
as text
set senderAddress to (characters 1 through -2 of split's item
2) as text

set foundPerson to false
tell application "Address Book"
repeat with p in (get every person)
repeat with e in (get p's emails)
if e's value contains senderAddress then
set foundPerson to p
exit repeat
exit repeat
end if
end repeat
end repeat
end tell

if foundPerson is not false then
tell application "Address Book"
tell foundPerson
try
set existingCustomDate to (first custom
date whose label = customDateLabel)
on error
set existingCustomDate to false
end try

if existingCustomDate is false then
make new custom date at end of custom
dates with properties �
{label:customDateLabel, value:current
date}
else
set value of existingCustomDate to current
date
end if

save
end tell
end tell
end if

end repeat
end tell
-- end script

--
Send responses to the relevant news group rather than email to me.
E-mail sent to this address may be devoured by my very hungry SPAM
filter. Due to Google's refusal to prevent spammers from posting
messages through their servers, I often ignore posts from Google
Groups. Use a real news client if you want me to see your posts.

JR
From: Jolly Roger on
In article <michelle-7A2DD2.12172918032010(a)nothing.attdns.com>,
Michelle Steiner <michelle(a)michelle.org> wrote:

> In article <jollyroger-0BD153.13565918032010(a)news.individual.net>,
> Jolly Roger <jollyroger(a)pobox.com> wrote:
>
> > set senderNameAndAddress to nextMessage's sender
> >
> > set savedelims to AppleScript's text item delimiters
> > set AppleScript's text item delimiters to "<"
> > set split to the text items of senderNameAndAddress
> > set AppleScript's text item delimiters to savedelims
> > set senderName to (characters 1 through -2 of split's item 1) as
> > text
> > set senderAddress to (characters 1 through -2 of split's item 2)
> > as text
>
> A little known secret about mail.app's scripting: Instead of all that, use
> this:
>
> set senderName to extract name from senderNameAndAddress
> set senderAddress to extract address from senderNameAndAddress

Very nice. Yes that's much better. Thanks.

--
Send responses to the relevant news group rather than email to me.
E-mail sent to this address may be devoured by my very hungry SPAM
filter. Due to Google's refusal to prevent spammers from posting
messages through their servers, I often ignore posts from Google
Groups. Use a real news client if you want me to see your posts.

JR