2009-03-01 44 views

Trả lời

27

Máy chủ Gmail sử dụng Xác thực SMTP trong SSL hoặc TLS. Tôi nghĩ rằng không có cách nào để sử dụng mail() chức năng trong những trường hợp đó, vì vậy bạn có thể muốn kiểm tra các lựa chọn thay thế:

Tất cả họ đều SMTP hỗ trợ auth dưới SSL.

Bạn cần bật tiện ích mở rộng php_openssl trong tệp php.ini của mình.

Tài nguyên bổ sung:

+0

Cảm ơn bạn rất nhiều! – Jonathan

+1

Bạn có thể cho tôi biết vị trí chính xác để đặt $ host = "ssl: //smtp.gmail.com"; $ port = 465; .? Cảm ơn –

1

Tôi chắc chắn rằng nó cũng sẽ yêu cầu thông tin xác thực SMTP.

2

tôi biết trong XAMPP tôi có thể cấu hình sendmail.ini để chuyển tiếp email địa phương. cần phải thiết lập

smtp_sever 
smtp_port 
auth_username 
auth_password 

làm việc này khi sử dụng máy chủ của riêng tôi, không gmail vì vậy không thể nói chắc chắn bạn sẽ không có vấn đề

11

Nếu bạn mở file php.ini trong wamp, bạn sẽ tìm thấy hai dòng lệnh sau:

smtp_server 
smtp_port 

Thêm máy chủ và số cổng cho máy chủ của bạn (bạn có thể cần phải liên hệ với họ để biết chi tiết)

hai dòng sau đây không tồn tại:

auth_username 
auth_password 

Vì vậy, bạn sẽ cần thêm họ để có thể gửi thư từ máy chủ yêu cầu xác thực. Ví dụ có thể là:

smtp_server = mail.example.com 
smtp_port = 26 
auth_username = [email protected] 
auth_password = example_password 
+1

Chưa được kiểm tra, nhưng điều này có thể là sai. Không có chỉ thị nào cho PHP như đã nêu ở trên (ngoại trừ 'smtp_port'). Xem thêm http://stackoverflow.com/a/21891895/3827190 để tham khảo. – Kubo2

2

sử dụng stunnel trên máy chủ của bạn, để gửi bằng gmail. Google nó.

2

Nó khá đơn giản.(Cú pháp thích ứng để thuận tiện cho bạn)

public $smtp = array(
    'transport' => 'Smtp', 
    'from' => '[email protected]', 
    'host' => 'ssl://smtp.gmail.com', 
    'port' => 465, 
    'timeout' => 30, 
    'username' => '[email protected]', 
    'password' => '*****' 
) 
2

Bạn có thích thư viện Zend không?

$config = array('auth' => 'login', 
        'ssl' => 'ssl', 
        'port'=> 465, 
        'username' => '[email protected]', 
        'password' => 'XXXXXXX'); 

$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config); 
$mail = new Zend_Mail(); 
$mail->setBodyText('This is the text of the mail.'); 
$mail->setFrom('[email protected]', 'Some Sender'); 
$mail->addTo('[email protected]', 'Some Recipient'); 
$mail->setSubject('TestSubj'); 
$mail->send($transport); 

Đó là thiết lập của tôi trong máy chủ cục bộ và tôi có thể xem thư đến hộp thư của tôi.

13

[Sử dụng hMailServer]
Sau khi cài đặt, bạn cần cấu hình sau để gửi đúng mail từ wampserver:

1) When you first open hMailServer Administrator, you need to add a new domain. 
2) Click on the "Add Domain ..." button at the Welcome page. 
3) Under the domain text field, enter your computer's IP, in this case it should be 127.0.0.1. 
4) Click on the Save button. 
5) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
6) Enter "localhost" in the localhost name field. 
7) Click on the Save button. 

Nếu bạn cần gửi thư bằng cách sử dụng TỪ addressee của một máy tính khác, bạn cần để cho phép phân phối từ tài khoản Bên ngoài đến Bên ngoài. Để làm điều đó, hãy làm theo các bước sau:

1) Go to Settings>Advanced>IP Ranges and double click on "My Computer" which should have IP address of 127.0.0.1 
2) Check the Allow Deliveries from External to External accounts checkbox. 
3) Save settings using Save button. 

(. Tuy nhiên, Windows Live/Hotmail đã phủ nhận tất cả các email đến từ IP động, mà hầu hết các máy tính dân cư đang sử dụng Cách giải quyết là sử dụng tài khoản Gmail)

để sử dụng tài khoản Gmail:

1) Go to Settings>Protocols>SMTP and select "Delivery of Email" tab 
2) Enter "smtp.gmail.com" in the Remote Host name field. 
3) Enter "465" as the port number 
4) Check "Server requires authentication" 
5) Enter gmail address in the Username 
6) Enter gmail password in the password 
7) Check "Use SSL" 

(Lưu ý, "Từ" chức năng lĩnh vực doesnt với gmail)


* p.s. trong trường hợp hiếm hoi, có thể là cần thiết để untick tất cả mọi thứ dưới require SMTP authentication trong:

  • cho địa phương: Cài đặt> Nâng cao> IP Ranges> "My Computer"
  • cho bên ngoài: Cài đặt> Nâng cao> Phạm vi IP> "Internet"
+2

Tôi cần đánh dấu chỉ dẫn này trước khi rò rỉ bộ nhớ. – Charlesliam

+1

Thực hiện theo các hướng dẫn đó, hoạt động hoàn hảo với hmailserver 5.6.4 và tài khoản gmail. Nếu bạn nhận được thông báo lỗi 'Xác thực SMTP 530 là bắt buộc', thì bạn cần phải làm theo chỉ dẫn cuối cùng (p.s.) – Zimmi

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