[PHP] OOP smtp class

Gestart doorDaiman2 reacties40 weergaven

3 berichten · pagina 1 van 1

Daiman

Lid · Topicstarter

Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi one2xs,
Ik heb omdat ik niks had te doen een SMTP class gemaakt.
Je kunt deze gebruiken indien de mail() functie in PHP niet goed werkt.

[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* Copyright (C) 2012 Daiman Meijers
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/

/**
* This is an alternative for linux with the mail() function
* You can use your mail login as auth
*/

/**
* Usage:
* $s = new smtp;
* $s->smtp_connect("smtp.gmail.com");
* $s->smtp_auth("testemail@gmail.com", "thisisnotsurethepassword");
* $s->smtp_send("fromemailadres", "fromname", "toemailadres", "toname", "message", "subject");
*/[/COLOR]
[URL="http://www.php.net/class"]class[/URL] smtp [COLOR= #007700]{[/COLOR]

    [URL="http://www.php.net/protected"]protected[/URL] [COLOR= #0000BB]$fp[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/**
    * @var socket for smtp
    */[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/**
    * @var mail username
    */[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] [COLOR= #0000BB]$pass[/COLOR][COLOR= #007700];[/COLOR]
    [COLOR= #FF8000]/**
    * @var mail password
    */[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] [COLOR= #007700]function[/COLOR] error_handler[COLOR= #007700]([/COLOR][COLOR= #0000BB]$message[/COLOR][COLOR= #007700]) 
    {[/COLOR]
        [URL="http://www.php.net/exit"]exit[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"<b>Error</b>: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$message[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);
    }[/COLOR]

    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]()
    {
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] smtp_connect[COLOR= #007700]([/COLOR][COLOR= #0000BB]$host[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$port[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]25[/COLOR] [COLOR= #007700],[/COLOR] [COLOR= #0000BB]$timeout[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]10[/COLOR][COLOR= #007700]) 
    {[/COLOR]
    
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp [COLOR= #007700]= @[/COLOR][URL="http://www.php.net/fsockopen"]fsockopen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$host[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$port[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$errno[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$errstr[/COLOR][COLOR= #007700]);
        
    }[/COLOR]
    
    [URL="http://www.php.net/protected"]protected[/URL] [COLOR= #007700]function[/COLOR] is_connected[COLOR= #007700]() 
    {[/COLOR]
    
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700]) 
        {[/COLOR]
        
            [URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
            
        }[/COLOR]
        
        [URL="http://www.php.net/else"]else[/URL] 
        [COLOR= #007700]{[/COLOR]
        
            [URL="http://www.php.net/return"]return[/URL] smtp[COLOR= #007700]::[/COLOR]error_handler[COLOR= #007700]([/COLOR][COLOR= #DD0000]"Could not connect to the smtp host!"[/COLOR][COLOR= #007700]);
            
        }
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] smtp_auth[COLOR= #007700]([/COLOR][COLOR= #0000BB]$user[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$pass[/COLOR][COLOR= #007700]) 
    {[/COLOR]
        
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]user [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$user[/COLOR][COLOR= #007700];[/COLOR]
        
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]pass [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$pass[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR]smtp[COLOR= #007700]::[/COLOR]is_connected[COLOR= #007700]()) 
        {[/COLOR]
        
            [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"AUTH LOGIN
"[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
            
            [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [URL="http://www.php.net/base64_encode"]base64_encode[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]user[COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
            
            [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [URL="http://www.php.net/base64_encode"]base64_encode[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]pass[COLOR= #007700]) .[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
            
            [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"HELO localhost

"[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
            
            [URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
            
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] 
        [COLOR= #007700]{[/COLOR]
            
            [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
            
        }
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] smtp_send[COLOR= #007700]([/COLOR][COLOR= #0000BB]$from[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$fromname[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$to[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$toname[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$message[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$subject[/COLOR][COLOR= #007700])
    {[/COLOR]
    
        [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"MAIL FROM: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$from[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
        
        [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"RCPT TO: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$to[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
        
        [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"DATA
"[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
        
        [COLOR= #0000BB]$headers[/COLOR]     [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"From: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$fromname[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]" <"[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$from[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">
"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$headers[/COLOR]    [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"Reply-To: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$fromname[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]" <"[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$from[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]">
"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$headers[/COLOR]    [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"X-Priority: Normal"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$headers[/COLOR]    [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"MIME-Version: 1.0
"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$headers[/COLOR]    [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"Content-type: text/html; charset=iso-8859-1
"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$headers[/COLOR]    [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]"Subject: "[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$subject[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
"[/COLOR][COLOR= #007700];[/COLOR]
        [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$headers[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$message[/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #DD0000]"
.
"[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);[/COLOR]
        
        [URL="http://www.php.net/fwrite"]fwrite[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #DD0000]"QUIT"[/COLOR][COLOR= #007700]);[/COLOR]
        [URL="http://www.php.net/fgets"]fgets[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]fp[COLOR= #007700],[/COLOR] [COLOR= #0000BB]1024[/COLOR][COLOR= #007700]);
        
    }
    
    
}[/COLOR]
?>


Je kan hem heel simpel gebruiken met of zonder AUTH.

$s = new smtp;
$s->smtp_connect("smtp.website.nl");
$s->smtp_auth("testemail@website.nl", "thisisnotsurethepassword");
$s->smtp_send("fromemailadres", "fromname", "toemailadres", "toname", "message", "subject");

Met smtp_connect kan je ook de port meegeven maar ook timeout

Met vriendelijke groet,
Daiman
0
Berichten
4.912
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Tof script en handig te gebruiken !

dankjewellll daimanbiggrin
0
Berichten
9.953
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nice Daiman. thumbsup
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren