Skip to content

Controller

sendEmail()

sendEmail() — returns any

Available in: controller Category: Miscellaneous Functions

Sends an email using a template and an optional layout to wrap it in. Besides the CFWheels-specific arguments documented here, you can also pass in any argument that is accepted by the cfmail tag as well as your own arguments to be used by the view.

NameTypeRequiredDefaultDescription
templatestringnoThe 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.
fromstringnoEmail address to send from.
tostringnoList of email addresses to send the email to.
subjectstringnoThe subject line of the email.
layoutanynofalseLayout(s) to wrap the email template in. This argument is also aliased as layouts.
filestringnoA 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.
detectMultipartbooleannotrueWhen set to true and multiple values are provided for the template argument, CFWheels will detect which of the templates is text and which one is HTML (by counting the < characters).
deliverbooleannotrueWhen set to false, the email will not be sent.
writeToFilestringnoThe file to which the email contents will be written
// Get a member and send a welcome email, passing in a few custom variables to the template
newMember = model("member").findByKey(params.member.id);
sendEmail(
	to=newMember.email,
	template="myemailtemplate",
	subject="Thank You for Becoming a Member",
	recipientName=newMember.name,
	startDate=newMember.startDate
);