Text Formatting within Actions

Hi Folks,
A number of my actions involve sending emails. When setting up new actions, I can setup who the email is going to, the subject, the body, copy clipboard etc, but is it possible to format text within the body of that email ?. There are no buttons for it, and markdown doesn’t seem to work, but maybe I am missing something. While I realize I can format the text in the draft itself, it’s what I have in the clipboard that I need to being sent to the action. It seems like whatever formatting is in the draft does not seem to carry over to the email.

Many thanks in advance

Jeremy

I think this is a default action, but if you use the Markdown Mail action, it will send the email as HTML.

2 Likes

Many thanks. While not quite where I want to be, it gets me what I need.

Is there any way to use this action but with the added step of having Drafts parse a bunch of email addresses and add them as CC or BCC?

I ask because I have a monthly email I send out to a list which I store as a plain text file. I don’t want to use MailChimp and none of my ios email apps offer a great way to save a list of contacts to send an email to.

What I’d love to do is be able to save any mailing list I have as a plain text file, then just plop them in to Drafts, press “send email to list” and have Drafts open up a mail with those email addresses already populated, my subject line in place, and my email body in place.

My other major bugbear is that I have to attach files to some of my lists. I don’t suppose it’s possible to have Drafts pull in a file and automagically add that to my email. Maybe a combo of Drafts and Workflow could do this.

Aran, you seem familiar… :eyes:

For sending an email without attachments, yes! And quite simply.

As long as your email recipients don’t change much, I would make an action group for the email list actions (for sanity’s sake), duplicate the in-built action and edit each to add in the addresses.

If you really need Drafts to get the addresses from a list, it will require a script, but it’s quite doable.

But as for attaching a file, no. Not with Drafts alone. Should be easy enough with Workflow, though.

1 Like

It’s a small world, eh?

I think I’d want to be able to add recipients on a per email basis. I thought about just creating a version of the action above with all the names pre-populated but then I realised I’d need a new one for every time I want to send a mass email and I thought why not try to get ahead of that and have one that can be universal.

Now, scripting, as you know, is not my area of expertise. It’s annoying really because I’m good at so many other things!

Fingers crossed someone out there will want to make this for themselves and will share the action.

I’m thinking it would be great be able to paste in a bunch of emails and names at the top of the draft, then write the subject, then the body, then the signature.

ADDRESS
ADDRESS
ADDRESS

SUBJECT

BODY BODY BODY
BODY BODY BODY
BODY BODY BODY

SIG.

Draft would need to know that the first chunk is recipients.

Would you be opposed to marking the addresses with a character? Like:

@ADDRESS
@ADDRESS
@ADDRESS

Not at all. But it would be easier if the system recognised email addresses natively. Anything with the format x@y.z

That’s regex isn’t it?

I don’t think it’s exactly what you need, but you might want to take a look at an action that I put together that allows you to store lists of email addresses in drafts and then choose which lists are included and then send the current draft as the subject/body of the email. You can find the action here:

http://actions.getdrafts.com/a/1ER

Dave

I would suggest seperating the addresses from everything else with something like a:

===

Easy to type, you could have a keyboard action to insert it, and easy to parse for in Javascript.

In fact if you went for a draft format of:

ADDRESS
ADDRESS
ADDRESS
===
SUBJECT
===
BODY BODY BODY
BODY BODY BODY
BODY BODY BODY

SIG.

Then your JavaScript to split things up would be something like:

var draft = editor.getText().split("\n===\n");
var addresses = draft[0].split("\n");
var subject = draft[1];
var body = draft[2];

var mail = Mail.create();
mail.ccRecipients = addresses;
mail.subject = subject;
mail.body = body;

var success = mail.send();
if (!success) {
  console.log(mail.status);
  context.fail();
}

This is untested, but might help get you on the right track!

Hey Rose!

So I would paste that in to the box in scripting?

Yup! I’ve not tested it though so there might be syntax errors :slight_smile:

Hi, I replied to the main thread before, but I think my reply would definitely work for you. Check out my other reply, it relates to an action I wrote that lets you keep lists of email addresses in drafts and choose them at send time