Professional CodeIgniter, Thomas Myer

Chapter 8: Last-Minute Upgrades
261
function sendemail(){
if ($this-
>
input-
>
post(`subject')){
$test = $this-
>
input-
>
post(`test');
$subject = $this-
>
input-
>
post(`subject');
$msg = $this-
>
input-
>
post(`message');
if ($test){
$this-
>
email-
>
clear();
$this-
>
email-
>
from(`claudia@example.com', `ClaudiasKids.net');
$this-
>
email-
>
to(`claudia@example.com');
$this-
>
email-
>
subject($subject);
$this-
>
email-
>
message($msg);
$this-
>
email-
>
send();
$this-
>
session-
>
set_flashdata(`message', "Test email sent");
}else{
$subs = $this-
>
MSubscribers-
>
getAllSubscribers();
foreach ($subs as $key =
>
$list){
$unsub = "
<
p
>
<
a href='". base_url()."welcome/unsubscribe/"
.$list[`id']. "'
>
Unsubscribe
<
/a
>
<
/p
>
";
$this-
>
email-
>
clear();
$this-
>
email-
>
from(`claudia@example.com', `ClaudiasKids.net');
$this-
>
email-
>
to($list[`email']);
$this-
>
email-
>
bcc(`claudia@example.com');
$this-
>
email-
>
subject($subject);
$this-
>
email-
>
message($msg . $unsub);
$this-
>
email-
>
send();
}
$this-
>
session-
>
set_flashdata(`message', count($subs) . " emails sent");
}
redirect(`admin/subscribers/index','refresh');
}else{
$data[`title'] = "Send Email";
$data[`main'] = `admin_subs_mail';
$this-
>
load-
>
vars($data);
$this-
>
load-
>
view(`dashboard');
}
}

The E - mail class is very simple: it allows you to quickly and easily send e - mails without too much fuss.
Since you ' re autoloading the class, there ' s no need to invoke it specifically.

First you run
$this-
>
email-
>
clear()

to clear out any settings or variables. You set the " from "
address with
$this-
>
email-
>
from()
, the " to " address with
$this-
>
email-
>
to()

, and so on. Once
you ' ve set the subject and message parameters, you can send with
$this-
>
email-
>
send()
.

The only thing you ' re doing differently is checking for a test message. If the user has indicated a test
message, then send to a single test address. Otherwise, loop through all the subscribers pulled from the
database table, adding an unsubscribe method to the end of the message.


Unsubscribing from within an E - mail

Notice that the last thing you ' re appending to the e - mail is a line of HTML:
$unsub = "
<
p
>
<
a href='". base_url()."welcome/unsubscribe/"
.$list[`id']. "'
>
Unsubscribe
<
/a
>
<
/p
>
";
c08.indd 261
c08.indd 261
6/10/08 5:37:34 PM
6/10/08 5:37:34 PM


Другие страницы

 
Cкачать книги бесплатно без регистрации в электронном виде (pdf, chm, txt).Вы можете читать книги онлайн на нашем сайте литературного портала книг.Большая подборка учебников, пособий, интересных книг.Электронные книги на английском языке скачать бесплатно без смс.

OK

Loading...
...
Закрыть