Jump to content

Workflow to send emails to multiple people (including CC) in your contact book


Recommended Posts

What?

Lets you send emails to multiple persons, including CC. You can either use your default email client or web based gmail

 

Download

HERE (Current version 1.4)

 

Changelog

  • (May1, 2013: Updated version 1.4: You can now either use 'memail' to use your default client, or 'memailg' to send the mail via the web based version of Gmail)
  • (Apr 30 2013: Updated version 1.3: Changed workflow to work even if your address book is stored in iCloud. Thanks to Kerry Dawson for patiently testing this)
  • (Updated: version 1.2: Changed keyword to 'memail' to avoid confusion. Fixed bugs, allowed CC option. For CC, just hit "/" and all emails after that will be in cc)

 

How? 

Alfred has an excellent "email" keyword that lets you enter names and it autocompletes them from your address book - and then you can send emails. However, it only supports sending emails to one id - you can't enter multiple names.

 

Enter this workflow: 

You have two options - you can type in "memail" to send emails via your default email client or "memailg" to send emails via web based gmail. Type in "memail" or "memailg" and start entering the name - it will resolve via address book - then type a comma and keep entering more names.

When done, select the action to send emails to all the ids. Basically, as you type names, you will see options in a list below - just scroll to the right name and hit tab to continue selecting more names (don't hit enter if you want to type more names, as typing enter means you are done). To copy the names to your clipboard instead of composing an email right away, hit Cmd+Enter at the end.

 

Two keywords: (memail or memailg)

original.jpg

 

The workflow will start searching your Contacts only after you enter at least 4 characters 

149957433.jpg

 

Example of matching entries:

original.jpg

 

Example of multiple emails including CC (for CC hit / and continue with names)

original.jpg

 

Feel free to extend it and if you do, please share back with me.

 

Purchasing information

Just kidding. It's free. But thanks for reading upto here.

Edited by arjunrc
Link to comment
  • 2 weeks later...

Multiple email workflow works not for me! I use a German 10.8.3 System.

 

What is the exact error? 

(Also, please check if this file exists for you  ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb )

 

Further note for those who are facing problems:

1) Launch a terminal and go to the workflow folder

2) There is a shell script called "search.sh" there - run it with "sh ./search.sh <firstname>" where <firstname> is some name (or subset of a same) in your contacts app

3) Check file temp.names to see if it correctly found all entries with that <firstname> substring. If it did not, then we have a problem with the address book name

Edited by arjunrc
Link to comment

What is the exact error? 

(Also, please check if this file exists for you  ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb )

 

Further note for those who are facing problems:

1) Launch a terminal and go to the workflow folder

2) There is a shell script called "search.sh" there - run it with "sh ./search.sh <firstname>" where <firstname> is some name (or subset of a same) in your contacts app

3) Check file temp.names to see if it correctly found all entries with that <firstname> substring. If it did not, then we have a problem with the address book name

 

To address the first question there is no error so to speak but rather when you type in memail name the name doesn’t come up underneath as in your diagram but rather a folder that says send. As you add names this folder send doesn’t change.

 

On point 1.

 

Where and exactly how do you want me to get to that folder. If you want me to do via terminal, then I need to know exactly what it is I’m typing as I have no idea where the workflow folder is located and how you get to it.

 

On point 2:

 

I think I know what I need to write once I find that shell script.

 

On point 3:

 

This is I guess dependent on the first 2. However, I was looking at your script /usr/bin/perl ./findaddr.pl "{query}" and the addr struct me as possibly the problem but I don’t understand any kind of scripting language at all. So I really need to be walked through all of this.

 

Kerry

Link to comment

1. Launch a terminal

2. Type in

cd ~/Library/Application\ Support/Alfred\ 2/Alfred.alfredpreferences/workflows

 

3. Type in 

cd `find . -name findaddr.pl | xargs dirname`

 

(note the back ticks in command above - make sure you copy paste the above)

 

4. You will now be inside the workflow folder for this memail action

 

5. Now, from terminal, type

 

sh ./search.sh peter

 

If it does not  generate an error, take a look at the contents of temp.names (its in the same directory). Let me know if it lists all the 'peter's in your contacts book. If it throws an error, please tell me the error

Link to comment

OK so here’s what I typed and I don’t think there are any errors. However, how do I take a look at the contents of temp.names. It certainly doesn’t exist in finder under ~kerrysdawson>library>application Support> Alfred 2

 

Last login: Mon Apr 29 10:13:47 on console

Kerrys-iMac:~ kerrysdawson$ cd ~/Library/Application\ Support/Alfred\ 2/Alfred.alfredpreferences/workflows

Kerrys-iMac:workflows kerrysdawson$ cd `find . -name findaddr.pl | xargs dirname`
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ sh ./search.sh peter
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$
 
In finder I’m in the folder where alfred.alfredpreferences is showing. In terminal it shows the folder I’m in is two subfolders under this. Even with TinkerTools and show hidden files and folders I can’t see this folder. I don’t know how you show it in Terminal and what the syntax is for that.
Link to comment

Yes,

 

Had to run. When I type in:

 

 

Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ sh ./search.sh peter
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ 
 
There isn’t an error. Is that what you needed to know?
 
Kerry
Link to comment

Yes, now in that same directory, as you are in right now, that should have created a temp.names file. Do this in that same terminal

cat temp.names

and tell me if it lists all the 'peter's and emails in your address book ( I am assuming you have at least one person by the name of peter in your contacts book)

 

Finally, just to make sure, type this command in the terminal and tell me what you see

 

perl --version

Edited by arjunrc
Link to comment

Yes I have more than one Peter’s. So I did what you said and it just came back to the prompt but with no error.

 

 

Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ cat temp.names
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ cat temp.names
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ perl -version
 
This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)
 
Copyright 1987-2010, Larry Wall
 
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
 
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
 
Kerrys-iMac:user.workflow.FE091ADD-0652-4074-9791-E56823BB4390 kerrysdawson$ 
Link to comment

Okay, so the problem is that my workflow is not finding any names matching Peter, which is odd.

 

Last try: Launch a terminal and type this. Let me know if it prints anything

 

/usr/bin/sqlite3 -separator '!:!' ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb "select e.ZADDRESSNORMALIZED,  p.ZFIRSTNAME,p.ZLASTNAME from ZABCDRECORD as p,ZABCDEMAILADDRESS as e WHERE e.ZOWNER = p.Z_PK;" 

 

If this prints out a big list of everyone in your contacts, book then great (you don't need to paste the output - just let me know if it prints a lot of names and emails)

Edited by arjunrc
Link to comment

For some reason it left the folder we had moved to but I pasted the command in from the prompt where it was and got the following result:

 

 

Last login: Mon Apr 29 16:33:03 on ttys000
Kerrys-iMac:~ kerrysdawson$ usr/bin/sqlite3 -separator '!:!' ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb "select e.ZADDRESSNORMALIZED,  p.ZFIRSTNAME,p.ZLASTNAME from ZABCDRECORD as p,ZABCDEMAILADDRESS as e WHERE e.ZOWNER = p.Z_PK;" 
-bash: usr/bin/sqlite3: No such file or directory
Kerrys-iMac:~ kerrysdawson$ 
 
So the error states: -bash: usr/bin/sqlite3: No such file or directory
 
Have I done this correctly?
Link to comment

No errors this time but no output either:

 

 

Kerrys-iMac:~ kerrysdawson$ /usr/bin/sqlite3 -separator '!:!' ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb "select e.ZADDRESSNORMALIZED,  p.ZFIRSTNAME,p.ZLASTNAME from ZABCDRECORD as p,ZABCDEMAILADDRESS as e WHERE e.ZOWNER = p.Z_PK;" 
Kerrys-iMac:~ kerrysdawson$ 
 
What do you think? It doesn’t sound like its producing what you’re looking for. I hope we can get this going as I think this is a very cool app.
 
Kerry
Link to comment

Yup that is not what I was expecting. 

 

Are you sure you are using the Mac contacts app to store names?

What is the size of this file? 

~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb

 

Can you print the output of this

 

cd ~/Library/Application\ Support/AddressBook/

ls -l

Edited by arjunrc
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...