Login

API - E-Mail PDF Print E-mail
Tutorials - Community Builder
Friday, 17 July 2009 13:33
Community Builder has functions to easily allow e-mailing. These functions support substitions allowing you to place field values within your e-mails as well as even attaching files!

The following function is the proper usage of CBs E-Mail functions. This will allow you to add e-mailing to any of your projects easily with a copy and paste. All need be is to provide the necessary data for the e-mail to send.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
function sendMail( $user_id, $mailTo, $mailSubject, $mailBody, $mailHtml = 0, $mailFrom_email = null, $mailFrom_name = null, $mailCC = null, $mailBCC = null, $mailAttachments = null ) {
global $_CB_framework;
 
$cbUser = CBuser::getInstance( $user_id );
 
if ( ! $cbUser ) {
$cbUser = CBuser::getInstance( null );
}
 
$mailTo = $cbUser->replaceUserVars( $mailTo, false );
$mailCC = $cbUser->replaceUserVars( $mailCC, false );
$mailBCC = $cbUser->replaceUserVars( $mailBCC, false );
$mailSubject = $_CB_framework->getCfg( 'sitename' ) . ( $mailSubject ? ' - ' . $cbUser->replaceUserVars( CBTxt::T( $mailSubject ), false ) : null );
$mailBody = $cbUser->replaceUserVars( CBTxt::T( $mailBody ), false );
$mailAttachments = $cbUser->replaceUserVars( $mailAttachments, false );
 
if ( $mailTo ) {
$mailTo = preg_split( ' *, *', $mailTo );
} else {
$mailTo = null;
}
 
if ( $mailCC ) {
$mailCC = preg_split( ' *, *', $mailCC );
} else {
$mailCC = null;
}
 
if ( $mailBCC ) {
$mailBCC = preg_split( ' *, *', $mailBCC );
} else {
$mailBCC = null;
}
 
if ( $mailAttachments ) {
$mailAttachments = preg_split( ' *, *', $mailAttachments );
} else {
$mailAttachments = null;
}
 
if ( $mailTo && ( $mailSubject || $mailBody ) ) {
if ( comprofilerMail( $mailFrom_email, $mailFrom_name, $mailTo, $mailSubject, $mailBody, $mailHtml, $mailCC, $mailBCC, $mailAttachments ) ) {
return true;
}
}
 
return false;
}

 

Passing substitutions as outlined in the substitutions tutorial through to, subject, body, cc, bcc will translate to the appropriate value of the $user field value. This function can also be used to send emails to non-registered users as long as a valid to address is specified (subsitutions of course won't function for non-existant users).
Last Updated on Thursday, 01 April 2010 11:43
 

Comments  

 
#1 ivaras 2010-07-06 11:50
How libraries i need to include?? in my component to use the emails functions??
 

You are not authorized to comment on this content.