Likes Likes:  0
Resultaten 1 tot 11 van de 11
Geen
  1. #1
    SIDN Contract laten mailen lukt niet.
    Ouwe rot, 52 Jaar
    1.901 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Thread Starter

    SIDN Contract laten mailen lukt niet.

    Ik ben aan het stoeien met het SIDN contract - version 1.15 van Olaf Lederer
    Nu heb ik hem ingeboud in mijn CMS en het werkt goed.
    Een gedeelte heb ik helemaal gestript omdat die in een form verwerkt moet worden en het contract automatisch moet mailen.
    Ik maak gebruik van FPDF en FPDI
    Hieronder staat een voorbeeld, $domain heb ik even blaat genoemd de rest wordt nog aangepast.
    PHP Code:
    <?php 
    include($_SERVER['DOCUMENT_ROOT']."/domeinregistratie/sidn_contract_class.php");
    $contract = new SIDN_contract// create a new object

                 
    $contract->domain 'blaat';
            
    $contract->owner $_POST['owner'];
            
    $contract->owner_address $_POST['adres'];
            
    $contract->owner_pc_city_country $_POST['pc_plaats'];
            
    $contract->owner_nl_address $_POST['adres_nl'];
                
            
    $contract->admin_name $_POST['admin_name'];
            
    $contract->admin_phone $_POST['admin_tel'];
            
    $contract->admin_email $_POST['admin_mail'];
                
            
    $contract->tech_name $_POST['tech_name'];
            
    $contract->tech_phone $_POST['tech_tel'];
            
    $contract->tech_email $_POST['tech_mail'];

            
            
    $contract->create_data();
             
    flush();
    ?>
    Ik loop nu vast op het mailen van de data..
    Welke string bevat nu de data, volgens mij is dat $contract ?
    En als je naar de onderste code kijkt dan is het $file_name
    PHP Code:
        function output_pdf() {
            
    $file_name trim($this->domain).".pdf";
            if (
    $this->preview_pdf == "yes") {
                
    header("Content-type: application/pdf");
                
    header ("Cache-control: private"); 
                
    $this->Output($file_name"I");
            } else {
                
    $this->Output($file_name);
                
    $this->message[] = $this->message_strings(14); 
    Wie kan mij een voorbeeld geven hoe je deze automatisch kan laten mailen?

  2. #2
    SIDN Contract laten mailen lukt niet.
    Professional
    3.115 Berichten
    Ingeschreven
    05/02/05

    Locatie
    Alkmaar

    Post Thanks / Like
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    101 Berichten zijn liked


    Naam: Thomas
    Registrar SIDN: JA
    ISPConnect: Lid
    KvK nummer: 76706966

    Wij gebruiken een oude versie in ons systeem, maar deze komt wel overeen qua code waarschijnlijk. De functie output_pdf() schrijft het bestand weg in de root waar het bestand staat.

    Bij ons is deze zo aangepast dat er een unixtime achter komt, anders loopt het soms mis met dubbele bestandsnamen, maar misschien dat dit verbetert is in deze versie.

    PHP Code:
    function output_pdf($time) {
            
    $file_name trim($this->domain).".{$time}.pdf";
            if (
    $this->preview_pdf == "yes") {
                
    header("Content-type: application/pdf");
                
    header ("Cache-control: private"); 
                
    $this->Output("modules/sidn/contracts/" $file_name"I");
            } else {
                
    $this->Output("modules/sidn/contracts/" $file_name);
                
    $this->message[] = $this->message_strings(14);
            }
        } 
    Zoals je ziet schrijven wij het ook weg naar een andere folder; zo is dit gescheiden van de plek waar de code staat.

    De onderstaande class gebruiken we om de attachments te kunnen versturen;

    PHP Code:
    class mime_mail
    {
        var 
    $parts;
        var 
    $to;
        var 
    $from;
        var 
    $headers;
        var 
    $subject;
        var 
    $body;
        
        function 
    mime_mail()
        {
            
    $this->parts = array();
            
    $this->to "";
            
    $this->from "";
            
    $this->subjuct "";
            
    $this->body "";
            
    $this->headers "";
        }
        
        function 
    add_attachment($message$name ""$ctype "application/pdf")
        {
            
    $this->parts[] = array (
                
    "ctype" => $ctype,
                
    "message" => $message,
                
    "encode" => $encode,
                
    "name" => $name,
            );
        }
        
        function 
    build_message($part)
        {
            
    $message $part["message"];
            
    $message chunk_split(base64_encode($message));
            
    $encoding "base64";
            return 
    "Content-Type: ".$part["ctype"].($part["name"]? "; name = \"".$part["name"]."\"" "")."\nContent-Transfer-Encoding: $encoding\n\n$message\n";
        }
        
        function 
    build_multipart() 
        {
            
    $boundary "b".md5(uniqid(time()));
            
    $multipart "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary";
            for(
    $i sizeof($this->parts)-1$i>=0$i--) $multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary";
            return 
    $multipart.=  "--\n";
        }

        function 
    send() 
        {
            
    $mime "";
            if (!empty(
    $this->from)) $mime .= "From: ".$this->from"\n";
            if (!empty(
    $this->headers)) $mime .= $this->headers"\n";
            if (!empty(
    $this->body)) $this->add_attachment($this->body"""text/plain");  
            
    $mime .= "MIME-Version: 1.0\n".$this->build_multipart();
            
    mail($this->to$this->subject""$mime);
        }

    En de code om het te e-mailen:

    PHP Code:
                    $attachment fread(fopen("modules/sidn/contracts/".$domain.".{$time}.pdf""r"), filesize("modules/sidn/contracts/".$domain.".{$time}.pdf"));
                    
    $mail = new mime_mail();
                    
    $mail->from "e-mail@adres.nl";
                    
    $mail->to $admincontact;
                    
    $mail->subject "SIDN Registratie contract voor "$domain ".nl";
                    
    $mail->body $mail_content;
                    
    $mail->add_attachment($attachment$domain ".pdf""Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG");
                    
    $mail->send(); 
    Let wel op dat je $mail_content nog zelf in moet vullen; of $mail->body moet voorzien van een andere inhoud. De rest spreekt wel voor zich denk ik.

  3. #3
    SIDN Contract laten mailen lukt niet.
    Ouwe rot, 52 Jaar
    1.901 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Thread Starter
    Bedankt voor het antwoord, volgens mij zit er ergens een foutje in?
    De browser vraagt of ik hem wil openen en als ik dat doe dan gaat het goed.
    Dat openen is geen probleem, dit kun je weghalen door if ($this->preview_pdf == "yes") op "no" te zetten.
    Het vreemde is dat hij niet weg schrijft in modules/sidn/contracts/ (de map is wel aangemaakt)
    De output is in mijn browser ook "modules_sidn_contracts_blaat..pdf"
    Mail krijg ik ook binnen, de attachment ontbreekt ook.. hij stuurd de .pdf niet mee (kan ook niet want hij schrijft hem niet weg)
    Heb je een idee wat ik verkeerd heb?

  4. #4
    SIDN Contract laten mailen lukt niet.
    Professional
    3.115 Berichten
    Ingeschreven
    05/02/05

    Locatie
    Alkmaar

    Post Thanks / Like
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    101 Berichten zijn liked


    Naam: Thomas
    Registrar SIDN: JA
    ISPConnect: Lid
    KvK nummer: 76706966

    Heeft de map wel de juiste rechten? Dat zou de reden kunnen zijn voor het niet wegschrijven van de contracten.

    Verder bedenk ik me net dat er wel meer functies veranderd zijn. Daardoor krijg je niet de unixtime in het bestand.

    Om het bestand te maken gebruik je de functie create_data() functie.

    PHP Code:
    $time time();
    $contract->create_data($time); 
    Zorg dan ook dat deze functie de parameter ondersteunt:

    PHP Code:
    function create_data($time) { 
    En verder op in de functie waar output_pdf(); wordt aangeroepen:

    PHP Code:
    $this->output_pdf($time); 
    We hebben dus alleen de $time parameter toegevoegd in de functies. Deze variabele moet wel hetzelfde zijn op het moment dat je de attachment gaat toevoegen. Anders kan deze het bestand niet vinden.

  5. #5
    SIDN Contract laten mailen lukt niet.
    Ouwe rot, 52 Jaar
    1.901 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Thread Starter
    Ok nu is het bijna goed, alleen de attachment komt in de mail zelf te staan en niet als bijlage.
    Er zit toch ergens een foutje denk ik?
    Ik gebruik de onderstaande code om te testen:
    PHP Code:
                    $attachment fread(fopen("modules/sidn/contracts/".$domain.".{$time}.pdf""r"), filesize("modules/sidn/contracts/".$domain.".{$time}.pdf"));
                    
    $mail = new mime_mail();
                    
    $mail->from "info@XXXXX.nl";
                    
    $mail->to "info@XXXXX.nl";
                    
    $mail->subject "SIDN Registratie contract voor "$domain ".nl";
                    
    $mail->body "Test 123";
                    
    $mail->add_attachment($attachment$domain .".{$time}.pdf""Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAgEASABIAAD/7QT+UGhvdG9zaG");
                    
    $mail->send(); 

  6. #6
    SIDN Contract laten mailen lukt niet.
    Hostingvisions
    1.042 Berichten
    Ingeschreven
    18/01/05

    Locatie
    Katwijk

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    13 Berichten zijn liked


    Bedrijf: Hostingvisions
    Functie: Eigenaar
    Registrar SIDN: Nee
    KvK nummer: 27313947

    Als attachment hoef je alleen maar het bestand mee te geven, ik zie dat het script zelf alle encoding doet. Dus
    Code:
    $attachment = "modules/sidn/contracts/".$domain.".{$time}.pdf";

  7. #7
    SIDN Contract laten mailen lukt niet.
    Ouwe rot, 52 Jaar
    1.901 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Thread Starter
    Ik heb de hele functie voor het versturen van de mail vervangen.
    De contracten worden nu netjes opgeslagen en per email verstuurd.
    De function output_pdf($time) en class mime_mail van getUP heb ik in sidn_contract_class.php gezet, het voorbeeld staat hier en dat werkt.
    Een nieuwe functie voor het versturen zal ik hier neer zetten, mischien heeft iemand daar nog wat aan?
    PHP Code:
    $receiver $klant_email// Dit email adres uit een var halen.
    $subject "SIDN Registratie contract voor $domain.nl";
    $attachment fread(fopen("modules/sidn/contracts/".$domain.".{$time}.pdf""r"), filesize("modules/sidn/contracts/".$domain.".{$time}.pdf"));
    $pdftext base64_encode($attachment);
    $header "MIME-Version: 1.0
    Content-Type: multipart/mixed; boundary=\"
    $boundary\"
    X-Priority: 3 (Normal)
    From: Domreg <info@xxxx.nl>
    Return-Path: <info@xxxx.nl>
    Reply-to: <info@xxxx.nl>"
    ;
    $mailtext "--$boundary
    Content-Type: text/plain; charset=\"us-ascii\"
    Content-Transfer-Encoding: 7bit

    Hier je text.. 

    --
    $boundary
    Content-Type: application/pdf; name=\"registratiecontract.pdf\"
    Content-Transfer-Encoding: base64
    Content-Disposition: attachment; filename=\registratiecontract.pdf\"

    $pdftext

    --
    $boundary--
    "
    ;

    $mailsend mail($receiver,$subject,$mailtext,$header); 
    Bedankt voor de hulp en reakties..

  8. #8
    SIDN Contract laten mailen lukt niet.
    addicted!
    1.457 Berichten
    Ingeschreven
    13/09/03

    Locatie
    Tilburg / KVK Midden Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    6 Berichten zijn liked


    Naam: M. Groenleer
    Registrar SIDN: JA

    Waarom niet gebruik maken van de optie om je PDF in een string te proppen?
    Deze string kun je dan met phpmailers weer als attachement toevoegen.
    Voordelen?
    - Geen schrijfrechten benodigd

    Nadelen?
    - Langere tijd (just milliseconds) het geheugen nodig
    - Iets meer geheugen nodig i.v.m. dubbel aanwezig zijn van het contract
    - Geen kopie op je server

    Zelf maken we gebruik van de download en fax optie.
    Voor het faxen genereren wij een mail naar de email2fax dienst die we hebben.

  9. #9
    SIDN Contract laten mailen lukt niet.
    Professional
    3.115 Berichten
    Ingeschreven
    05/02/05

    Locatie
    Alkmaar

    Post Thanks / Like
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)
    101 Berichten zijn liked


    Naam: Thomas
    Registrar SIDN: JA
    ISPConnect: Lid
    KvK nummer: 76706966

    Wij hebben er bewust voor gekozen om ze weg te schrijven. Zo kan de klant ze eventueel ook direct downloaden. De e-mail is als extra service eigenlijk.

    Zo heeft iedereen zijn eigen manier ;-)

  10. #10
    SIDN Contract laten mailen lukt niet.
    addicted!
    1.457 Berichten
    Ingeschreven
    13/09/03

    Locatie
    Tilburg / KVK Midden Brabant

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    6 Berichten zijn liked


    Naam: M. Groenleer
    Registrar SIDN: JA

    getUp, ik nodig je uit om oze website te bezoeken en een whois te doen.
    Vervolgens kan je een sidn contract laten maken.

    Bestand wordt direct ter download aangeboden.
    Als je je fax nummer invult krijg je hem ook per fax (welke per email is ingeschoten bij de email2fax dienst).

    Al met al nog steeds mogelijk.

    Wat je niet hebt is een url die je per email kunt doorgeven om een ander het contract te laten downloaden. Wat we wel kunnen is de velden vooraf invullen door een speciale url.

    Onze SIDN contract module is overigens gebaseerd op fpdf, fpdi en phpmailer.

  11. #11
    SIDN Contract laten mailen lukt niet.
    Ouwe rot, 52 Jaar
    1.901 Berichten
    Ingeschreven
    24/08/02

    Locatie
    Gaanderen

    Post Thanks / Like
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    2 Berichten zijn liked


    KvK nummer: 09153441

    Thread Starter
    Ik had toch nog een vraagje?
    Hij schrijft hem pas weg bij een refresh van de pagina.
    De rest is prima, hij verstuurd wel meteen het goede contract per email.
    Heeft er nog iemand een idee waarom het wegschrijven pas na een refresh gebeurd?

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics