PHP mail script op andere server

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stijn Bank

Stijn Bank

24/11/2014 16:48:52
Quote Anchor link
Hi,

Ik gebruik een startbootstrap template om een eenvoudige website op te zetten. De website wordt gehost via een pakket zonder PHP ondersteuning.
Mijn eigen website heeft wel ondersteuning voor PHP. Mijn vraag: kan ik het PHP scriptje voor een simpel contact formulier opslaan op mijn website om alsnog een functionerend contact script te hebben op de website zonder PHP?
Ik heb het bestand nu simpelweg verplaatst naar mijn eigen hostingpakket, maar dat lijkt niet te werken.

Het contact formulier werkt met 2 bestanden. Een .js script en een .PHP script.

Inhoud contact_me.js, op de server ZONDER php:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
$(function() {

    $("input,textarea").jqBootstrapValidation({
        preventSubmit: true,
        submitError: function($form, event, errors) {
            // additional error messages or events
        },
        submitSuccess: function($form, event) {
            event.preventDefault(); // prevent default submit behaviour
            // get values from FORM
            var name = $("input#name").val();
            var email = $("input#email").val();
            var phone = $("input#phone").val();
            var message = $("textarea#message").val();
            var firstName = name; // For Success/Failure Message
            // Check for white space in name for Success/Fail message
            if (firstName.indexOf(' ') >= 0) {
                firstName = name.split(' ').slice(0, -1).join(' ');
            }
            //url: "././mail/contact_me.php",
            $.ajax({
                url: "http://www.stijn.nl/jos/contact_me.php",
                type: "POST",
                data: {
                    name: name,
                    phone: phone,
                    email: email,
                    message: message
                },
                cache: false,
                success: function() {
                    // Success message
                    $('#success').html("<div class='alert alert-success'>");
                    $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                        .append("</button>");
                    $('#success > .alert-success')
                        .append("<strong>Je bericht is verzonden. </strong>");
                    $('#success > .alert-success')
                        .append('</div>');

                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
                error: function() {
                    // Fail message
                    $('#success').html("<div class='alert alert-danger'>");
                    $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                        .append("</button>");
                    $('#success > .alert-danger').append("<strong>Sorry " + firstName + ", Er is iets mis gegaan. Wil je je vraag direct sturen naar [email protected]? Bedankt!");
                    $('#success > .alert-danger').append('</div>');
                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
            })
        },
        filter: function() {
            return $(this).is(":visible");
        },
    });

    $("a[data-toggle=\"tab\"]").click(function(e) {
        e.preventDefault();
        $(this).tab("show");
    });
});


/*When clicking on Full hide fail/success boxes */
$('#name').focus(function() {
    $('#success').html('');
});


Inhoud contact_me.php op mijn eigen server:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
// Check for empty fields
if(empty($_POST['name'])          ||
   empty($_POST['email'])         ||
   empty($_POST['phone'])         ||
   empty($_POST['message'])    ||
   !
filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {

    echo "No arguments Provided!";
    return false;
   }

    
$name = $_POST['name'];
$email_address = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
    
// Create the email and send the message
$to = '[email protected]'; // Add your email address inbetween the '' replacing [email protected] - This is where the form will send a message to.
$email_subject = "Website Contact Form:  $name";
$email_body = "You have received a new message from your website contact form.\n\n"."Here are the details:\n\nName: $name\n\nEmail: $email_address\n\nPhone: $phone\n\nMessage:\n$message";
$headers = "From: [email protected]\n"; // This is the email address the generated message will be from. We recommend using something like [email protected].
$headers .= "Reply-To: $email_address";    
mail($to,$email_subject,$email_body,$headers);
return true;            
?>


Is dit mogelijk? Zo ja, enig idee waarom dit niet werkt nu? Ik krijg op de website netjes een melding dat de mail is verstuurd, maar... er komt op dit moment niks binnen!
Gewijzigd op 24/11/2014 16:50:07 door Stijn Bank
 
PHP hulp

PHP hulp

25/04/2024 20:53:33
 
- Ariën  -
Beheerder

- Ariën -

24/11/2014 17:04:25
Quote Anchor link
Kijk eens naar: http://phpwiki.santhe.nl/index.php?title=De_juiste_mailheaders

Verder kan je met AJAX niet zomaar externe URL openen vanwege de Origin Policy.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.