>

이메일을 보내는 PHP 기능이 있습니다.

function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto,$cc)
    {
        if(filter_var($email_to, FILTER_VALIDATE_EMAIL))
        {
            require_once "/usr/local/lib/php/Mail.php";
            $from = $email_from;
            $to = $email_to;
            $subject = $email_subject;
            $body = $email_body;
            $host = "mail.domain.co.uk";
            $username = "[email protected]";
            $password = "********";
            $headers = array ('From' => $from,
              'To' => $to,
              'Cc' => $cc,
              'Subject' => $subject,
              'Content-type' => 'text/html');
            $smtp = Mail::factory('smtp',
              array ('host' => $host,
             'auth' => true,
             'username' => $username,
             'password' => $password));
             $rec = $to.', '.$cc;
            $mail = $smtp->send($rec, $headers, $body, $cc);
        }
    }

내가 함수를 호출하면 때로는 $cc 가 없습니다  변수이므로 Missing argument 6 for sendemail(), 라는 경고 메시지가 나타납니다.  

$cc가 유효하지 않은 경우 경고를 중지하는 가장 좋은 방법은 무엇입니까?

  • 답변 # 1

    해당 기능을 작성한 경우 6 번째 매개 변수를 선택 사항으로 만들 수 있습니다.

    function sendemail($email_to, $email_from, $email_subject, $email_body, $email_replyto, $cc = null) {
        if ($cc !== null) {
            // add cc headers, e.g.
            // $headers['Cc'] = $cc;
        }
    }
    
    

    이 매개 변수를 생략 할 수있는 옵션이 있습니다 :

    sendemail("[email protected]", "[email protected]", "subject", "body", "[email protected]");
    sendemail("[email protected]", "[email protected]", "subject", "body", "[email protected]", "[email protected]");
    
    

  • 답변 # 2

    이것을 사용

    function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto,$cc = "")
    
    

  • 답변 # 3

    이것을 시도하십시오

    function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto,$cc=NULL)
    
    

    put $cc = NULL입니다. 따라서 $cc가 없으면 경고가 표시되지 않습니다.

  • 답변 # 4

    이메일 보내기 기능을 변경할 수있는 경우 :

    function sendemail ($email_to, $email_from, $email_subject, $email_body, $email_replyto, $cc=null) { }
    
    

    그냥 함수 본문 자체에 null 문제가 없는지 확인하십시오  와이즈 비즈 .

    $cc

관련 자료

  • 이전 php - Laravel 5 이메일을 사용하려고합니다
  • 다음 통합 테스트 CRUD Emberjs