2013-05-30 44 views
27

Tôi cần sử dụng chức năng PHP mail() để gửi thư từ SMTP cục bộ (sử dụng Wamp, Xampp hoặc v.v.).WAMP gửi Thư bằng SMTP localhost

ai cũng có thể đưa ra hướng dẫn?

+0

Với xampp hoặc wampp, bạn cần cấu hình thủy ngân để gửi thư từ máy chủ cục bộ. Bạn có yêu cầu cấu hình không? – Ahmed

+0

Vòng quay của techwheels hoạt động cho tôi! ':)' –

Trả lời

1

Bạn có thể sử dụng thư viện này để gửi email, nếu có vấn đề với xampp địa phương, wamp ...

class.phpmailer.php, class.smtp.php Viết mã này trong tập tin mà email của bạn chức năng gọi

include('class.phpmailer.php'); 

    $mail = new PHPMailer(); 
    $mail->IsHTML(true); 
    $mail->IsSMTP(); 
    $mail->SMTPAuth = true; 
    $mail->SMTPSecure = "ssl"; 
    $mail->Host = "smtp.gmail.com"; 
    $mail->Port = 465; 
    $mail->Username = "your email ID"; 
    $mail->Password = "your email password"; 
    $fromname = "From Name in Email"; 

$To = trim($email,"\r\n"); 
     $tContent = ''; 

     $tContent .="<table width='550px' colspan='2' cellpadding='4'> 
      <tr><td align='center'><img src='imgpath' width='100' height='100'></td></tr> 
      <tr><td height='20'>&nbsp;</td></tr> 
      <tr> 
       <td> 
       <table cellspacing='1' cellpadding='1' width='100%' height='100%'> 
       <tr><td align='center'><h2>YOUR TEXT<h2></td></tr/> 
       <tr><td>&nbsp;</td></tr> 
       <tr><td align='center'>Name: ".trim(NAME,"\r\n")."</td></tr> 
       <tr><td align='center'>ABCD TEXT: ".$abcd."</td></tr> 
       <tr><td>&nbsp;</td></tr>     
       </table> 
       </td> 
      </tr> 
      </table>"; 
     $mail->From = "From email"; 
     $mail->FromName = $fromname;   
     $mail->Subject = "Your Details."; 
     $mail->Body = $tContent; 
     $mail->AddAddress($To); 
     $mail->set('X-Priority', '1'); //Priority 1 = High, 3 = Normal, 5 = low 
     $mail->Send(); 
1

bạn có thể trực tiếp gửi thư từ php email function() nếu bạn chỉ định các cổng máy chủ smtp và smtp trong php.ini, lần đầu tiên yêu cầu máy chủ chứng chỉ SMTP đến ISP của bạn.

SMTP = smtp.wlink.com.np //put your ISP's smtp server 

smtp_port = 25 // your ISP's smtp port. 

sau đó chỉ cần khởi động lại máy chủ apache và nó sẽ bắt đầu hoạt động. Thưởng thức ...

34

Nó dường như không thể bao gồm tất cả các phần trong bài viết của tôi, thay vào đó, tôi sẽ trỏ đến các hướng dẫn cần thiết::

(nên làm việc trên WAMP, XAMPP hoặc bất cứ điều gì ...)

+2

Câu trả lời hay và hiệu quả. Chỉ cần thêm vào đó, tôi cần thiết theo nâng cao -> ip phạm vi -> máy tính của tôi, để untick tất cả mọi thứ dưới 'yêu cầu xác thực SMTP' vì php mail() không có sẵn. – realtimez

0

Nếu bất kỳ một trong những bạn đang nhận được lỗi như sau sau khi làm theo câu trả lời được đưa ra bởi Afwe WEF

Warning: mail() [<a href='function.mail'>function.mail</a>]: SMTP server response: 

550 The address is not valid. in c:\wamp\www\email.php 

Đến php.ini

; For Win32 only. 
; http://php.net/sendmail-from 
sendmail_from = [email protected] 

Nhập [email protected] làm bạn id email r mà bạn đã sử dụng để định cấu hình máy chủ hMails trước sendmail_from.

sự cố của bạn sẽ được giải quyết.

Đã thử nghiệm trên máy chủ Wamp2.2 (Apache 2.2.22, php 5.3.13) trên windows 8

Nếu bạn cũng đang nhận được lỗi sau

"APPLICATION" 6364 "2014-03-24 13:13:33.979" "SMTPDeliverer - Message 2: Relaying to host smtp.gmail.com." 
"APPLICATION" 6364 "2014-03-24 13:13:34.415" "SMTPDeliverer - Message 2: Message could not be delivered. Scheduling it for later delivery in 60 minutes." 
"APPLICATION" 6364 "2014-03-24 13:13:34.430" "SMTPDeliverer - Message 2: Message delivery thread completed." 

Bạn có thể đã quên để thay đổi cổng 25-465

5

Dưới đây là các bước để đạt được điều này:

  • Tải xuống sendmail.zip thông qua số link

    này
    • Bây giờ, trích xuất thư mục và đặt nó vào C:/wamp /. Đảm bảo rằng bốn tệp này có mặt: sendmail.exe, libeay32.dll, ssleay32.ddl và sendmail.ini.
    • mở sendmail.ini và thiết lập cấu hình như sau:

    • smtp_server = smtp.gmail.com

    • SMTP_PORT = 465
    • smtp_ssl = ssl
    • default_domain = localhost
    • error_logfile = error.log
    • debug_logfile = debug.log
    • auth_username = [your_gmail_acc ount_username] @ gmail.com
    • AUTH_PASSWORD = [your_gmail_account_password]
    • pop3_server =
    • pop3_username =
    • pop3_password =
    • force_sender =
    • force_recipient =
    • hostname = localhost

    • Truy cập tài khoản email của bạn. Nhấp vào công cụ Thiết lập> Cài đặt> Chuyển tiếp và POP/IMAP> IMAP. Nhấp vào "Bật IMAP", sau đó lưu các thay đổi của bạn.

    • Chạy máy chủ WAMP của bạn. Bật ssl_module trong Mô-đun Apache.

    • Tiếp theo, bật php_openssl và php_sockets trong PHP.

    • Mở php.ini và định cấu hình dưới dạng các mã bên dưới. Về cơ bản, bạn chỉ cần đặt sendmail_path.

[mail function] 
; For Win32 only. 
; http://php.net/smtp 
;SMTP = 
; http://php.net/smtp-port 
;smtp_port = 25 

; For Win32 only. 
; http://php.net/sendmail-from 
;sendmail_from = [email protected] 
; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). 
; http://php.net/sendmail-path 
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t -i" 
  • Restart WAMP server

Tôi hy vọng điều này sẽ làm việc cho bạn ..

+1

Tôi đã làm theo tất cả các bước của bạn, nhưng máy chủ wamp đã ngừng chạy sau khi bật - ssl_module trong Apache. –

Các vấn đề liên quan