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'] = "hi@mysite.com";

$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

?>   

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.