Jump to content

PHP Mailer - I can not give values to properites of the class object


zoran

Recommended Posts

 

I want to create an application for sending mails using PHPMailer by placing it on my website

 

server (using SMTP),

but I can not get object of class phpmailer to change its properties of:

 

to_name

to_email

ContentType

 

from default (i.e. null).

Why are the properties keeping default values from the PHPMailer class, and not accepting my

 

once, though I check values i get from DB and they are good. ContentType is set in a config file.

 

 

Here is part of var_dump ($mailer); object of my extended class:

object(MyMailer)#2 (56) { ["priority"]=> int(3) ["to_name"]=> NULL ["to_email"]=> NULL ...

["ContentType"]=> string(10) "text/plain"...

 

also I get value of ["Port"]=> int(26) but ["SMTP_PORT"]=> int(25).

I need to use smtp port  26.

 

 

And here is the extended class of phpmailer

 

require_once './PHPMailer/class.phpmailer.php';

require_once 'mailer-config.php';

 

class MyMailer extends PHPMailer

{

    var $priority = 3;

    var $to_name = null;

    var $to_email = null;

    var $From = null;

    var $FromName = null;

    var $Sender = null;

    var $ContentType = null;

   

    function MyMailer()

    {

    global $eSlanje;

       

    // Comes from mailer-config.php $eSlanje array

       

        if($eSlanje['smtp_mode'] == 'enabled')

        {

            $this->Host = $eSlanje['smtp_host'];

            $this->Port = $eSlanje['smtp_port'];

            if($eSlanje['smtp_username'] != '')

            {

                $this->SMTPAuth = true;

                $this->Username = $eSlanje['smtp_username'];

                $this->Password = $eSlanje['smtp_password'];

            }

            $this->Mailer = "smtp";

        }

        if(!$this->From)

        {

            $this->From = $eSlanje['from_email'];

        }  

        if(!$this->FromName)

        {

            $this->FromName = $eSlanje['from_name'];

        }

        if(!$this->Sender)

        {

            $this->Sender = $eSlanje['from_email'];

        }

        $this->Priority = $this->priority;

        //echo "<br>eSlanje[content_type]";

        //var_dump ($eSlanje['content_type']);

    $this->ContentType = $eSlanje['content_type'];

    }

}

 

and here is the cofig file:

 

mailer-config.php

 

<?php

$eSlanje['from_email'] = "[email protected]";

$eSlanje['from_name'] = "Joe Blog";

$eSlanje['title'] = "hi there";

$eSlanje['content_type'] ="text/html";

 

$eSlanje['smtp_username'] = null;

$eSlanje['smtp_mode'] = "enabled";

$eSlanje['smtp_port'] = 26;

$eSlanje['smtp_host'] = "mail.mysite.com";

 

 

 

Here is where I insert values of email and name into the object:

<?php session_start();

include ("password.php");

require_once 'class_lib/MyMailer.php';

require "class_lib/MySQL_Database.php";

require "get_email_template.php";

 

$db = new MySQL_Database ();

 

$id = isset($_GET['id']) ?  $_GET['id'] : false;

$sql = "select email,ime from ".TABLE." where id = $id";

$query = mysql_query ($sql);

$toClient = mysql_fetch_array($query);

 

$to = isset($toClient['email']) ? $toClient['email'] : false;

 

var_dump($to); // here I get a valid email address

 

$to_name = isset($toClient['ime']) ? $toClient['ime'] : false;

 

//var_dump($to_name); // here I get a valid preson's name

 

$mailer = new MyMailer();

$mailer->AddAddress($to, $to_name);

$mailer->Body = get_htmlBody();

$mailer->AltBody = get_txtBody();

if(!$mailer->Send())

{

echo "<br> Mailer Error: " . $mailer->ErrorInfo."&nbsp";

}

else {

echo "<br>message not sent &nbsp";

}

$mailer->ClearAddresses();

 

var_dump($mailer); // this is where the object trace comes from

?>   

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.