2014-10-19 20 views
5

Tôi sử dụng ngăn xếp XAMPP để phát triển web. Tôi đã theo dõi this tutorial một lúc trước để thiết lập máy của tôi để gửi thư từ máy chủ cục bộ. Điều này làm việc hoàn hảo dưới OS X Mavericks, nhưng Yosemite dường như đã phá vỡ nó.sendmail trong Mac OS X Yosemite

Tôi đã thử tất cả các phương pháp khắc phục sự cố trong bài đăng được liên kết không có lịch phát sóng và đã tạo tệp PHP nhỏ này để kiểm tra chúng. Đầu ra này false trên máy của tôi.

<?php 
    error_reporting(-1); 
    ini_set('display_errors', 'On'); 

    $headers = array("From: [email protected]", 
    "Reply-To: [email protected]", 
    "X-Mailer: PHP/" . PHP_VERSION 
    ); 
    $headers = implode("\r\n", $headers); 
    $didhappen = mail('[email protected]', 'test', 'test', $headers); 

    if($didhappen) { 
     echo 'true'; 
    } else { 
     echo 'false'; 
    } 
?> 

tôi vẫn có thể gửi thư bằng cách sử dụng thiết bị đầu cuối, ví dụ, nếu tôi chạy lệnh mail [email protected] máy của tôi sẽ gửi email từ địa chỉ gmail cá nhân của tôi (người tôi cấu hình cho localhost) và nó sẽ hiển thị trong hộp thư đến của [email protected] Tuy nhiên, bất cứ khi nào tôi sử dụng chức năng mail trong PHP, các email không bao giờ đến và có thể không bao giờ được gửi đi.

Tôi nghĩ vấn đề nằm trong sendmail, Nó đã tạo ra một số báo cáo sự cố như thế này ...

10/19/14 6:42:09.407 PM ReportCrash[13377]: Saved crash report for sendmail[13376] version ??? to /Library/Logs/DiagnosticReports/sendmail_2014-10-19-184209_Trevors-MacBook-Pro.crash 

Bất kỳ ý tưởng về những gì Yosemite có thể đã bị hỏng? Hay có ai khác có vấn đề này?

+0

@JohnConde Tôi không nghĩ rằng đây là một bản sao, nó đề cập cụ thể với OS X Yosemite. –

+1

@JohnConde câu hỏi này thực sự không liên quan gì đến PHP –

+0

Cảm ơn bạn @BryanChen. Họ đôi khi rất nhanh chóng để đóng đôi khi, tôi có một cảm giác rất nhiều người có thể có vấn đề này rất buổi sáng thứ hai. –

Trả lời

6

Sau một vài lần thử cài đặt lại XAMPP, cuối cùng tôi đã chuyển nó và đi với môi trường gốc mà Mac OS X cung cấp. Tôi theo sau this tutorial và đã có thể nhận Apache, PHP, MySql và PHPMyAdmin và chạy trên máy tính của tôi mà không có XAMPP.

Tôi sợ những ngày XAMPP kết thúc cho tôi.

Chức năng thư PHP hiện hoạt động sau khi làm theo hướng dẫn, do đó, nó phải là một vấn đề với XAMPP toàn bộ thời gian này.

+0

Tôi đã cố gắng làm như vậy và có một Apache, PHP và MySQL đang hoạt động mà không có XAMPP ngay bây giờ. Tuy nhiên, tôi đang gặp một số rắc rối để gửi sendmail hoạt động. Làm thế nào bạn làm điều đó một cách chính xác? Bạn đã sử dụng postfix một lần nữa và cấu hình nó như được mô tả trong liên kết đầu tiên trong câu hỏi của bạn? –

+0

OK.Đã phải làm như sau (cũng có vẻ là mới với Yosemite): http://stackoverflow.com/questions/26447316/mac-os-x-10-10-yosemite-postfix-sasl-authentication-failed –

+0

Chỉ để tham khảo , các hướng dẫn trong câu trả lời khác hoạt động với XAMPP trên Yosemite. Không cần phải thay đổi thiết lập của bạn. Tôi thích có một môi trường dev bị cô lập/riêng biệt từ hệ điều hành của tôi. – Ryan

16

Tôi nghĩ, trên diễn đàn apachefriends, có giải pháp cho XAMPP trên Yosemite.

để tham khảo, hướng vào liên kết này trên là những điều sau đây, mà làm việc cho tôi:

Chỉnh sửa tập tin /Applications/XAMPP/etc/php.ini bạn

Hãy tìm ";sendmail_path"

Và viết như sau:

sendmail_path = "env -i /usr/sbin/sendmail -t -i"

+0

Điều này làm việc cho tôi! Thanx! – Timo002

+0

Ngày còn lại của XAMPP. Cảm ơn lòng tốt Tôi đã tìm thấy điều này. Tôi đã nứt đầu của tôi ;-) – Daniel

+0

Điều này làm việc cho tôi trên máy chủ osx yosemite quá. – Jeemusu