E-maili saatmine läbi gmaili konto

Sageli tuleb ette, et on vaja tegeleda arenduses kirjade saatmisega, kuid pole põhjust olnud maili serverit püsti panna. Lahenduseks on võimalik kasutada näiteks gmaili kontot, mis sobib ka täiesti kirjade saatmiseks.

Juhud kus võiks antud lahendust vaja minna: teed kutsed enda peole, kuid ei soovi ükshaaval e-maili aadresseid sisse trükkida. Järgmisena sooviksid kõigile sõpradele teada anda enda uuest e-maili aadressist. Hoiatus ärge kasutage võimalust kurjasti ära või võite sattuda antud lehele.

Töö lihtsustamiseks kasutame abi klassi class.phpmailer.php projektist PHPMailer, mis pakub võimalust muuta kõik võimalike seadeid. Välja mineva kirja saatmiseks on vajalik ära muuta Host = ‘ssl://smtp.gmail.com’, Port = 465 andmed saab ka siit lehelt.

<?php
require 'class.phpmailer.php';

if (isset ($_POST['send'])) {
    $mail = new PHPMailer();
    $mail->IsSMTP(); // send via SMTP
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->Host = 'ssl://smtp.gmail.com';
    $mail->Port = 465;

    $mail->Username = '....@gmail.com'; // Gmail username
    $mail->Password = ''; // Gmail password
    $mail->From = $mail->Username;
    $mail->FromName = 'Juku';

    $mail->WordWrap = 50; // set word wrap
    $mail->IsHTML(true); // send as HTML

    // Here you can put all your friends names, or just load from other file
    $friends = array(
        'Mihkel' => 'mihkelson@gmail.com',
        'Juta'  => 'juta@gmail.com',
    );
$body = <<<HTML

Tere,
Tahtsin teada anda, et kasutusel on uus e-maili aadress eee@ee.ee.
Aitäh, {$mail->FromName}

HTML;

    foreach ($friends as $name => $address) {
        $mail->AddAddress($address, $name);
        $mail->Subject = 'Tere '. $name .' väike teade';
        $mail->Body = $body;
        if (!$mail->Send()) {
            echo 'Mailer Error: ' . $mail->ErrorInfo;
        } else {
            echo 'Message has been sent to '. $name .' <br />';
            
        }
        $mail->ClearAddresses();

    }
}
?>
<form action="" method="POST">
    <input type="submit" name="send" value="Send" />
</form>

Kuna sisu on võimalik saata HTML kujul, siis võib selleks luua eraldi fail ning ära vormindada. Hetkel tehtud näite põhjal võib nimekirja kellele saata võtta csv failist, andmebaasist jne. Sellisel viisil kirja saatmisel on veel üks eelis, tervet nimekirja e-maili aadresse ei tule kaasa ning säilib ka teatud mõttes privaatsus.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s