Back

sendEmail()

Name Type Required Default Description
template string No The path to the email template or two paths if you want to send a multipart email. if the detectMultipart argument is false, the template for the text version should be the first one in the list. This argument is also aliased as templates.
from string No Email address to send from.
to string No List of email addresses to send the email to.
subject string No The subject line of the email.
layout any No false Layout(s) to wrap the email template in. This argument is also aliased as layouts.
file string No A list of the names of the files to attach to the email. This will reference files stored in the files folder (or a path relative to it). This argument is also aliased as files.
detectMultipart boolean No true When set to true and multiple values are provided for the template argument, Wheels will detect which of the templates is text and which one is HTML (by counting the < characters).
deliver boolean No true When set to false, the email will not be sent.
writeToFile string No The file to which the email contents will be written
1. Basic email to a new user
newMember = model("member").findByKey(params.member.id);

sendEmail(
    to=newMember.email,
    template="welcomeEmail",
    subject="Thank You for Joining!",
    recipientName=newMember.name,
    startDate=newMember.startDate
);

2. Multipart email (HTML + text)
sendEmail(
    to="user@example.com",
    template="welcomeEmailText, welcomeEmailHTML",
    subject="Welcome!",
    detectMultipart=true
);

3. Email with a layout
sendEmail(
    to="user@example.com",
    template="newsletter",
    layout="emailLayout",
    subject="Monthly Newsletter",
    userName="Salman"
);

4. Email with attachments
sendEmail(
    to="user@example.com",
    template="reportEmail",
    subject="Your Monthly Report",
    file="report.pdf, summary.xlsx"
);

5. Write email to a file without sending
sendEmail(
    to="user@example.com",
    template="testEmail",
    subject="Testing Email",
    writeToFile="#expandPath('./tmp/testEmail.eml')#",
    deliver=false
);
Copied!