Board index   FAQ   Search  
Register  Login
Board index php forum :: php coding PHP coding => Mail

Sending Mail with file stored in Database as atachment

the mail() function

Moderators: macek, egami, gesf

Sending Mail with file stored in Database as atachment

Postby fioprod » Thu Oct 13, 2011 4:24 am

Hi,

I'm trying send an email with an attachment which is stored in db.
The way it works: the admin can upload files to database, and ther's a page,
where he can view all the files in database. under each file ther's a link "Send",
when the admin clicks on this link, the link grabs the "id" of the specific file,
and then redirects to the "send email" page, where there's a form to add message.
It's giving me the following fatal error:

Fatal error: Call to a member function addAttachment() on a non-object in /home/acfango1/public_html/admin/send-newsletter.php on line 58

here is my code:

Code: Select all
//this is the send-email.php page

if("Send Newsletter" == $_POST['submit'])

{
    $message = FilterData($_POST['message']);
    $get_emails = new Newsletter();
    $get_emails->SendNewsletter();
    $emails = $get_emails->emails;
   
   $get_file = new Newsletter();
   $file = $get_file->GetImageName($_id);

   
    //send email
            $headers = "MIME-Version: 1.0\r\n";
            $headers.="Content-type: text/html; charset=iso-8859-1\r\n";
            $from = "somemail@gmail.com";
            $to = $all_emails;
             $subject = "Newsletter";
             $message ->addAttachment($file);

             if(mail($to, $subject, $message,$from))

             {
                 $warning = "The newsletter was sent successfully!";
             }else{
                 $warning = "Something went wrong! Newsletter could not be sent.";
             }



I think the problem might be in my GetImageName() function inside the class.

here it is:

[code]
//this is the Class file

public function GetImageName($id)
{
try{

$sql = "SELECT upload as file FROM newsletter WHERE id='{$id}'" ;
$result = $this->db->mysqli->query($sql);

if(!$result)
{
throw new Exception("Query failed: " . $sql . " - " . $this->db->mysqli->error);
}else{

$file_name = $result->fetch_assoc();
return $file_name['file'];
}

} catch(Exception $e){
echo("Message: " . $e->getMessage());
}
}

[code]

Although it looks perfect for me, but being a young php dev, and not being familiar with addAtachment() function, I dont know if i have to include the full path of of my file.

Any help would be much appreciated
thanks in advance,
Mike Spider
fioprod
New php-forum User
New php-forum User
 
Posts: 23
Joined: Fri Sep 30, 2011 1:26 pm

Return to PHP coding => Mail

Who is online

Users browsing this forum: Baidu [Spider] and 4 guests

Sponsored by Sitebuilder Web hosting and Traduzioni Italiano Rumeno and antispam for cPanel.