HomeLập trìnhPhpCách gửi e-mail...

Cách gửi e-mail (Biểu mẫu Bootstrap+Alertify+jQuery+PHP) – HTML-CSS


Tôi đã sử dụng biểu mẫu Bootstrap.

<form id="contact-form">

    <div class="form-group">
      <label for="inputName" >Name or company name</label>
      <input type="name" class="form-control" id="inputName" aria-describedby="nameHelp" placeholder="Enter name or company name" name="name" >
     </div>

    <div class="form-group">
      <label for="inputEmail">Email address</label>
      <input type="email" class="form-control" id="inputEmail" aria-describedby="emailHelp" placeholder="Enter email" name="name">
      <small id="emailHelp" class="form-text text-muted">I'll never share your email with anyone else.</small>
    </div>

    <div class="form-group">
      <label for="message-text" class="col-form-label">Message:</label>
      <textarea name="message" class="form-control" id="inputMessage" placeholder="Type an email" value="<?= $message ?>"></textarea>
     </div>

        <button type="submit" class="btn btn-primary">Send</button>
    
</form>

Tôi cũng đã sử dụng Alertify

    alertify.defaults.transition = "slide";
    alertify.defaults.theme.submit = "btn btn-primary";
    alertify.defaults.theme.cancel = "btn btn-danger";
    alertify.defaults.theme.input = "form-control";

Và tôi muốn email được gửi bằng jQuery để tôi không phải thay đổi phần mở rộng của tệp thành php.

    (function() {
        $(document).ready(function() {
            return $('#contact-form').submit(function(e) {
                var email, message, name;
                name = document.getElementById('inputName');
                email = document.getElementById('inputEmail');
                message = document.getElementById('inputMessage');
                if (!name.value || !email.value || !message.value) {
                    alertify.error('Please check your entries');
                    return false;
                } else {
                    $.ajax({
                        method: 'POST',
                        url: 'sendemail.php',
                        data: $('#contact-form').serialize(),
                        datatype: 'json'
                    });
                    e.preventDefault();
                    $(this).get(0).reset();
                    return alertify.success('Message sent');
                }
            });
        });

    }).call(this);

Và đó là tệp php nơi dữ liệu đang được xử lý.

<?php
$a=0;
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
console.log($name);
$formcontent="From: $name \n Message: $message";
$recipient = "[email protected]";
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
header("Location: index.html");
echo "Thank You!";
?>

Email không được gửi. Tôi đã làm sai điều gì? Tôi cần làm gì tiếp theo?, Tôi đã triển khai trang của mình trên một trang lưu trữ miễn phí có tên 000webhost với gói email được gửi hạn chế.

Có phải vì tôi đã không cấu hình thứ gì đó trước không? (Giống như một cái gì đó trong SMPT) Tôi đã xem một số hướng dẫn về cách thực hiện điều đó và họ sử dụng các bước bổ sung. Bất cứ ai có thể hướng dẫn tôi và cho tôi biết liệu những gì tôi đang làm là sai hay đúng?

Đọc thêm  Cách tích hợp tập lệnh shell Python/Ruby/PHP với Node.js bằng cách sử dụng child_ process.spawn

Tôi hiện đang sử dụng một mô-đun có dạng bootstrap đó và cũng muốn sử dụng alertify vì tôi thích giao diện của nó, nếu có giải pháp thay thế nào tốt hơn, vui lòng cho tôi biết.

Có rất nhiều lựa chọn thay thế mà tôi cảm thấy choáng ngợp.


Tôi không phải là một lập trình viên php.

Thiết lập bạn có thể cần là sử dụng SMTP (không chắc có cần cho php hay không).

Bạn cũng cần một tên miền. Một số máy chủ email cứng cũng chấp nhận các email có thể đã được ký, nếu không chúng có thể bỏ qua hoặc gửi nó dưới dạng thư rác.

Ngay cả khi bạn không gặp bất kỳ sự cố nào trong môi trường cục bộ, mục tiêu có thể bỏ qua thông báo.

Đảm bảo rằng bạn đang gửi từ một miền mà bạn sở hữu, nếu không sẽ không thành công (hoặc tệ hơn là bị đưa vào danh sách đen).

Cách tốt hơn là có thể sử dụng API bên ngoài để gửi thư, không kiện nếu có, nhưng một giải pháp đơn giản có thể là về google.

Bạn có nghĩ rằng đó chỉ là do tôi cần thực hiện các bước bổ sung hay đó cũng là do có gì đó trong mã có vẻ không ổn?

Tôi đã tra cứu một khung gửi email nhưng có vẻ như nó không hoạt động, các email liên tục bị tắc cho đến khi tôi gửi email từ chính trang web đó.

Đọc thêm  Học php và mysql ở đâu?

Tôi thực sự không phiền khi chúng bị gửi dưới dạng thư rác, ít nhất thì tôi cũng nhận được chúng.
Tôi có một tên miền nhưng nó nằm trên một trang lưu trữ web miễn phí để thử nghiệm, số lượng email có thể gửi là giới hạn.

Không phải bạn cũng đã thêm một biểu mẫu vào trang web/trang danh mục đầu tư của mình sao? Bạn đã sử dụng cái gì?
Bạn có bất kỳ liên kết nào để giúp tôi hiểu những gì tôi muốn đạt được không?

Đó là Trang Lưu trữ Web mà tôi hiện đang sử dụng:
https://www.000webhost.com

Tôi sẵn sàng thay đổi mọi thứ.

Tôi đã kiểm tra gói miễn phí mà bạn đề cập trong liên kết bạn cung cấp. Nó nói rằng nó cung cấp chuyển tiếp email. Nó không giúp thực sự.

Nhưng phần tốt là nó giữ tên miền của bạn. Phần không tốt là nó được quản lý và bạn không thể làm bất cứ điều gì không được quản lý bởi chính bạn, bạn cần chấp nhận chính sách và làm theo cách của họ.

Tôi không thể xác thực mã bạn đã thực hiện ở phía máy chủ php, Một chuyên gia php sẽ giúp bạn điều này.

Vì tôi vừa có một số nghiên cứu về chức năng thư php, có vẻ như nó gọi một ứng dụng gốc có tên là sendmail, xin lưu ý nếu máy chủ của bạn chặn điều này, vì vậy bạn sẽ thất bại.

Đọc thêm  Hướng dẫn PHP – Cách thiết lập PHP và XAMPP cho dự án của bạn

Một số nội dung về mã của bạn, tôi không chắc liệu php có hỗ trợ dạng chuỗi concat này như bạn đã làm hay không ("From: $name \n Message: $message";), có lẽ bạn đã về "From: ".$name. "\n Message: ".$message; thay thế?! (giống với "From: ".$email." \r\n";)

Ngoài ra, hãy thử ghi lại bất kỳ lỗi nào nếu thư tăng lên, nhật ký có thể giúp bạn tìm ra vấn đề tốt hơn nhiều.

Xin lưu ý rằng email bạn gửi ($email) trong mã của bạn, phải là tập hợp con của miền của bạn hoặc được phép gửi từ tài khoản của bạn (ví dụ: thử không gửi từ [email protected] trong khi bạn không hoặc không được phép gửi thư dưới dạng gmail .com)

Tôi chưa bao giờ làm việc với hệ thống được quản lý lưu trữ như trường hợp của bạn, nhưng tôi tin rằng bạn có thể làm được.

Hãy tiếp tục làm việc tốt! lập trình vui vẻ.



1 lượt thích



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status