2016-10-12 3 views
0

그래서 메일을 보낼 메일을 다른 기능 (혼란 IK)메일 사용자 정의 기능을 사용하여

그래서 사용하여 메일() 그것은 내가 넣어 헤더에 관계없이 내 서버에서 전자 메일을 보냅니다을 만들어 싶어 제목에 명시된 바와 같이 그래서 세트 이메일에서 실제 이메일을 보낼 수있는 기능을 만들 필요가

는 이제

[email protected]

내가 메일 링에 이메일 무리가 있다고 가정하자 내가 이메일을 있다고 가정 해 봅시다 목록

이제이 함수를 사용하여 각 메일을 전자 메일로 보낼 코드가 있습니다

그래서이 코드는 cMail ($ to, $ sub, $ msg, $ from)을 사용합니다.

그리고 전자 우편에서 사용자

에 나타납니다 [email protected]

내가 메일을 사용하는 경우 다음에서 오는 나는 실제로 내 이메일

에서오고 싶어 내 서버를 표시하고 altervista00000을 표시하며 플러스 서버가 메일() 기능을 활성화 이메일로 제한하고 뉴스 레터를 보낼 수 있어야합니다.

아이디어 나 해결 방법은 무엇입니까 ??

+0

PhpMailer를 사용하는 것이 좋습니다. https://github.com/PHPMailer/PHPMailer –

+0

'mail()'기능을 올바르게 사용하고 있습니까? 왜냐하면 내가 그것을 사용할 때 나는 ...에서 내 호스트 서버로부터 전송하면 상관 없다. 내가 입력 한 이메일을 표시하고 있기 때문이다. 추가 정보 : http://php.net/manual/en/function.mail.php –

+0

실제 'From' 헤더는'mail() '기능이 아닌 발신 MTA에 의해 설정됩니다. 그것이 왜 당신의 걱정거리인지는 http://stackoverflow.com/questions/24644436/php-mail-form-doesnt-complete-sending-e-mail을 참고하십시오. – mario

답변

1

내 이름은 파벨 타 셰프입니다. 도와 드리겠습니다;)

기술적 인 측면에서 볼 때 가장 쉽고 정확한 방법은 이메일 계정을 호스팅하고 이메일을 보내는 자신의 메일 서버를 사용하는 것입니다.

  • 최대 허용 : 그 경우에 PHP의 목적은이 모든 문제를 해결할

    이메일 계정 Z.에서, 이메일 Y의 목록에 이메일 X를 보낼 수있는 메일 서버를 얘기하는 것입니다 시간당 이메일;

  • 발신자 이름;

좋은 소식은 이미 Google에서 호스팅하고 자신의 메일 서버를 만들 필요가없는 Gmail 계정이 있다는 것입니다. Google의 메일 서버를 사용할 수 있습니다. 또한, 전자 메일을 보내려면 PHPMailer (URL : https://github.com/PHPMailer/PHPMailer)를 사용하는 것이 좋습니다.

다음은이 모든 작업을 수행하는 방법입니다. 다음 단계를 따르십시오 :

  1. PHPMailer를 프로젝트에 통합하십시오. composer을 사용하면 간단합니다. 그렇지 않으면 코드를 다운로드하고이 파일 PHPMailerAutoload.php을 프로젝트에 포함하기 만하면됩니다. Github의 지침을 따르십시오. 정말 쉽습니다.
  2. PHPMailer를 설치할 준비가되면 메일 서버에 연결하도록 지시해야합니다.Gmail 및 이메일 계정이 다음과 같을 것이다 :

    $mail->addAddress('[email protected]', 'Joe User'); $mail->addAddress('[email protected]', 'The name is optional'); $mail->addReplyTo('[email protected]', 'YOU CAN PUT YOUR NAMES HERE IF YOU WANT'); $mail->isHTML(true);
    $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body <b>in bold!</b>'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

:

<?php require 'PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; $mail->SMTPAuth = true; $mail->Username = '[email protected]'; $mail->Password = 'PUT-YOUR-PASSWORD-HERE'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('[email protected]', 'YOU CAN PUT YOUR NAMES HERE IF YOU WANT');

  • 마지막 단계는 수신자와 전자 메일의 내용을 설정하는 것입니다 이제 이메일을 보내야합니다.

    !$mail->send()) { 
        echo 'Message could not be sent.'; 
        echo 'Mailer Error: ' . $mail->ErrorInfo; 
    } else { 
        echo 'Message has been sent'; 
    } 
    

    도움이되기를 바랍니다.

  • +0

    무료 웹 호스팅 서버에서 작동합니까? –

    +0

    예, 정상적으로 작동합니다. 어떤 어려움이 있습니까? –

    +0

    예. phpmailer는 composervice가 무료 웹 호스팅에서 작곡가를 사용할 수 없음을 요구합니다. –

    관련 문제