Multibyte mb_send_mail

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_send_mail — 인코딩된 메일 보내기


설명

mb_send_mail(
    string $to,
    string $subject,
    string $message,
    array|string $additional_headers = [],
    ?string $additional_params = null
): bool
                

이메일을 보냅니다. 헤더와 메시지는 mb_language() 설정에 따라 변환되고 인코딩됩니다. 이것은 mail()의 래퍼 함수이므로 자세한 내용은 mail()도 참조하십시오.


매개변수

to
메일 주소가 전송됩니다. 각 주소 사이에 쉼표를 넣어 여러 수신자를 지정할 수 있습니다. 이 매개변수는 자동으로 인코딩되지 않습니다.
subject
메일의 제목입니다.
message
메일의 메시지.
additional_headers (optional)
이메일 헤더의 끝에 삽입할 문자열 또는 배열입니다.

이것은 일반적으로 추가 헤더(From, Cc 및 Bcc)를 추가하는 데 사용됩니다. 여러 개의 추가 헤더는 CRLF(\r\n)로 구분해야 합니다. 공격자가 원하지 않는 헤더를 삽입하지 않도록 매개변수를 확인합니다.

배열이 전달되면 해당 키는 헤더 이름이고 값은 각각의 헤더 값입니다.

메모:

메일을 보낼 때 메일에는 From 헤더가 포함되어야 합니다. 이는 additional_headers 매개변수로 설정하거나 php.ini에서 기본값을 설정할 수 있습니다.

이렇게 하지 않으면 Warning: mail(): "sendmail_from"이 php.ini에 설정되지 않았거나 사용자 지정 "From:" 헤더가 누락된 것과 유사한 오류 메시지가 표시됩니다. From 헤더는 Windows에서 Return-Path도 설정합니다.

메모:

메시지가 수신되지 않으면 LF(\n)만 사용해 보십시오. 일부 Unix 메일 전송 에이전트(특히 » qmail)는 LF를 자동으로 CRLF로 대체합니다(CRLF를 사용하면 CR이 두 배로 늘어남). » RFC 2822를 준수하지 않으므로 이것은 최후의 수단이어야 합니다.

additional_params
additional_params는 MTA 명령줄 매개변수입니다. sendmail을 사용할 때 올바른 Return-Path 헤더를 설정할 때 유용합니다.

이 매개변수는 명령 실행을 방지하기 위해 내부적으로 escapeshellcmd()에 의해 이스케이프됩니다. escapeshellcmd()는 명령 실행을 방지하지만 추가 매개변수를 추가할 수 있습니다. 보안상의 이유로 이 매개변수는 검증되어야 합니다.

escapeshellcmd()는 자동으로 적용되기 때문에 인터넷 RFC에서 이메일 주소로 허용된 일부 문자는 사용할 수 없습니다. 이러한 문자를 사용하는 데 필요한 프로그램은 mail()을 사용할 수 없습니다.

이 메서드를 사용하여 봉투 발신자(-f)를 설정할 때 'X-Warning' 헤더가 메시지에 추가되는 것을 방지하려면 웹 서버가 실행되는 사용자를 신뢰할 수 있는 사용자로 sendmail 구성에 추가해야 합니다. sendmail 사용자의 경우 이 파일은 /etc/mail/trusted-users입니다.


반환 값

성공하면 true를, 실패하면 false를 반환합니다.


변경 로그

Version Description
8.0.0 additional_params은 이제 nullable입니다.
7.2.0 additional_headers 매개변수는 이제 배열도 허용합니다.

기타