2014-11-13 2 views
3

PHPMail을 사용하여 전자 메일을 보내고 오늘 다음 스크립트를 발견했습니다.메일 PHP는 어떻게 작동합니까?

<?php 
    $to = "[email protected]"; 
    $subject = "Test mail"; 
    $message = "Hello! This is a simple email message."; 
    $from = "[email protected]"; 
    $headers = "From:" . $from; 
    mail($to, $subject, $message, $headers); 
    echo "Mail Sent."; 
?> 

위는 php mail.php을 통해 실행 가능한 될 수 있으며 즉시 나가는/들어오는 서버를 설정할 필요가 없습니다에도 불구하고 $from에서 $to에 보낸 이메일을 얻을 것이다.

내 CMS가 SMTP 아웃 바운드 서버 (물론 메일 PHP와 동일)를 사용하기 때문에 내 Outlook SMTP 사용자 이름과 암호로 설정해야합니다. 정말 일종의 확인이었습니다.

그러나 메일 PHP는 단지 전자 메일을 보냅니다. 당신은 그것을 주소로 설정합니다. 당신이 설정 한 주소에서.

PHP docs에서 보면 실제로 어떻게 작동하는지 알 수 없습니다. 누구든지 from 신원을 확인하지 않고 프로그래밍 방식으로 언제든지 누군가를 보낼 수 있기 때문에 메일 PHP는 스팸과 관련하여 문제가 없습니까?

편집 :

내가 염두에두고 정확한 것은 한 이후이 코멘트에 사람들의 POTUS에 대해 오히려 재미 말하고 있었다 것 : 내 정크에서

enter image description here

그것은 했다 땅을 폴더,하지만 난 이걸 충분히 납득시킬 수 있도록 열심히 노력하고 여전히 고려해야 할 것 같아요 "oh damn spam filter lost my e-mail!"

+0

보낸 사람을 겹쳐 쓰면 공급자가 제공 한 것과 다르므로 해당 메일은 대개 스팸 폴더에 저장됩니다. – vaso123

+0

질문의 마지막 부분이 대답합니다. 그것은 PHP의 메일 함수에 의존해서는 안되는 많은 이유 중 하나입니다. – baao

+0

http : // stackoverflow를보십시오.com/a/14456761/1857053 및 PHPmailer 사용 – RichardBernards

답변

4

mail 함수는 php.ini의 설정을 사용합니다. 이 구성의 세부 사항은 Mail Runtime Configuration에서 찾을 수 있습니다.

ini_set을 사용하여 기본값을 무시할 수 있지만 기본값은 php.ini에서 설정할 수 있습니다.

나는 호스트 된 서버에서 PHP 스크립트로 메일을 보냈을 것이다. 해당 서버에는 SMTP 설정이 미리 구성되어있을 것입니다. 이 기능을 WAMP/LAMP 서버에서 로컬로 사용하려는 경우 PHP가 Outlook/WhateverMailclient 설정을 읽을 수 없으므로이 구성을 직접 수행해야합니다.

의견에 명시된 바와 같이 발신자/발신인 주소를 직접 지정할 수 있습니다. SMTP는 이것을 실제 발신자 도메인으로 요구하지 않으므로 이것이 작동합니다. 누락 된 링크는 호스트의 미리 구성된 SMTP 서버입니다.

일부 릴레이 서버에서이를 확인하고 메일이 차단되거나 정크 메일 폴더로 전송 될 수 있습니다. 그러나 DNS에 <Your server's IP>이 실제로 <yourdomain>에 대한 전자 메일을 보낼 수 있음을 나타내도록 구성 할 수 있습니다. 해당 주제에 대한 자세한 내용은 this question on ServerFault을 참조하십시오.

+0

나는 php mail.php를 통해 스크립트를 돌렸다. 아파치를 설치하면 변화가 있습니까? – theGreenCabbage

+0

나는 생각하지 않는다. 설정은 php.ini에 있으며, PHP가 명령 행에서 호출 될 때도 작동해야합니다. – GolezTrol

0

그것은 SMTP 프로토콜을 사용하거나 send_mail, 요 심지어 php가 php.ini에서 메일을 보내는 데 사용해야하는 것을 구성 할 수도 있습니다. 전자 메일을 보낼 수 있지만 스팸 필터에 전자 메일이 추가됩니다. 자세한 내용은 DKIM 및 SPF 레코드를 참조하십시오.

관련 문제