2009-09-03 5 views
3

웹 사이트에 익명 의견 양식을 설정하는 프로젝트가 있습니다. 나는php 양식에서 Gmail 보내기

일반적인 생각 나는 암호 필드 (직원에게 제공) 다시 공급을위한 필드와이 코드를 볼 수

필자에 버튼이 있습니다 것입니다 PHP로에서 이동을하고 싶어

<?php 
$to = "[email protected]"; 
$subject = "Hi!"; 
$body = "Hi,\n\nHow are you?"; 
if (mail($to, $subject, $body)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 
?> 

을 니펫을하지만 난 그냥 이메일을 보낼 수없는 내 제한된 이해 이메일 시스템과 확신 메신저 (내가 어딘가 열려있는 서버를 사용하지 않는 내가하지 않는) 그래서 난에 이메일에 로그온해야합니다 서버 (내 경우에는 gms 서버)

그래서 내가 이걸 할까?

갱신 :

위의 코드는 일이 있지만 기업 계정 우리는 현재 구글 비즈 응용 프로그램을 사용하고 난 보낼 구글 서버에 로그온하고 싶은 그 이유는에서 오지 않는다 않습니다 이거.

+0

Gmail을 통해 보내는 경우 자동화 된 스크립트를 설정하거나 API가 있는지 확인해야합니다. – dusoft

+0

불필요한 @dusoft. – ceejayoz

답변

5

가 봐 참조하면

에 설정 한 , 주어진 예제는 잘 작동합니다. 괜찮은 웹 호스팅을 사용하고 있다면 괜찮을 것입니다.

개발 컴퓨터를 사용하는 경우 로컬 메일 서버를 설정하고 다른 메일 서버를 통해 전자 메일을 보내도록 메일 서버를 구성 할 수 있습니다. 그것은 일반적으로 ... 스마트 하우스라고 생각합니다. 대부분의 리눅스 메일 서버 (exim, postfix 등)는이 방법으로 구성 될 수 있습니다. 이 방법으로 Windows 컴퓨터에 메일 서버를 설치하고 구성 할 수 있다고 확신합니다. Xampp이 하나 있다고 생각합니다.

실제로 PHP를 사용하여 전자 메일 서버로 전자 메일을 보내려는 경우 라이브러리를 사용할 수 있습니다. 개인적으로, 나는 swiftmailer를 사용할 것입니다.

http://swiftmailer.org/ http://phpmailer.worxware.com/

그들은 당신이 아니라 바로 로컬 메일 서버보다, 당신이 원하는 SMTP 서버를 사용할 수 있습니다.

0

귀하의 이해가 너무 제한적인 것으로 보입니다. 인터넷에 연결된 모든 곳에서 메일을 "보내는"것이 완벽하게 가능합니다.

+0

아무데도 없습니다. 동적으로 할당 된 IP 주소를 가지고 있으므로 많은 메일 서버에서 메일을 보낼 수 없습니다. 예를 들어'gmail.com'은 내 IP 주소를 차단하고 SMTP 오류를 발생시킵니다. – Inshallah

+0

mail.gmail.com은 동적 IP와 정적 IP를 어떻게 구분합니까? –

+0

@Totland는 SPF 및 SMTP 다이얼 백을 참조하십시오. – bucabay

1

스크립트를 적절한 웹 호스트에서 실행하는 경우 보내는 메일을 보내도록 모든 설정이 필요합니다. 진정으로 거기 보이는 것처럼 간단합니다.

가정용 서버를 사용하는 경우 ISP가 ISP의 중간 서버를 통하지 않고 메일을 보내는 것을 차단하기 때문에 가정에서 서버를 실행하는 경우 상황이 조금 더 복잡해집니다.

0

코드는 스팸 남용,() 서버가 당신을 위해 구성된 경우 swiftmailer

0

당신은 대개 사용할 수있는 메일과 같은 최상의 당신이 만약 타사 메일러에게 열려 입력 된 필터링이 없습니다.

서버에서 Gmail을 통해 이메일을 보내려면 SMTP를 통해 Gmail 메일 서버 (MTA)로 이메일을 보내야합니다.

SMTP를 사용하거나 서버에서 sendmail 바이너리를 사용하도록 mail() 함수를 구성 할 수 있습니다. 웹 호스트에게 요청하는 것이 가장 좋습니다. 직접하고 싶다면 PHP.ini를 편집해야합니다.

Sendmail은 전자 메일을 보내는 명령 줄 인터페이스가있는 데몬입니다. (참고 : 모든 전자 메일은 SMTP를 통해 전송되므로 sendmail은 해당 비트만 사용합니다).

먼저 Google 메일 인증 방법과 사용자 이름 및 암호로 sendmail 프로그램을 구성해야합니다. 이는 사용하는 sendmail 프로그램에만 해당됩니다. 그런 다음 PHP.ini를 통해 sendmail 프로그램을 사용하도록 PHP를 구성해야합니다. 구체적인 지침이 필요한 경우 게시 할 수 있습니다.

구글은 PHP.ini에 넣을 수없는 TLS 및 인증 매개 변수 (사용자/패스)가 필요하기 때문에이 경우 SMTP를 직접 사용하도록 PHP를 구성 할 수 있다고 생각하지 않습니다.

참고 : PHP 문서에는 sendmail이 Linux 용이고 SMTP가 Windows 전용이라고 나와 있습니다. 이것은 정확하지 않습니다. sendmail을 사용하려면 Windows에서 PHP를 구성하고 SMTP를 사용하려면 Linux에서 구성 할 수 있습니다. Windows 버전의 센드 메일이 필요하고, 리눅스는 기본적으로 센드 메일과 함께 제공되기 때문에 실제로 SMTP를 필요로하지 않는다. 센드 메일은 대개 대기열에 메일을 추가하기 때문에 더 나은 선택입니다. PHP는 단일 스레드이며 SMTP 트랜잭션이 완료 될 때까지 기다려야합니다.

관련 문제