FuelPHP-이메일 관리

이메일 기능은 웹 프레임 워크에서 가장 많이 요청되는 기능입니다. FuelPHP는 패키지로 번들 된 우아한 이메일 클래스를 제공합니다. 여러 첨부 파일이있는 고급 서식있는 텍스트 이메일뿐만 아니라 간단한 일반 텍스트 이메일을 보내는 데 사용됩니다. 일반 텍스트 메일, HTML 메일, 첨부 파일 및 인라인 첨부 파일과 같은 기능을 지원합니다.

구성

애플리케이션에서 이메일 기능을 활성화하려면 아래의 기본 구성 파일 fuel / app / config / config.php에 지정된대로 이메일 패키지를로드하기 만하면됩니다.

'always_load' => array ( 
   'packages' => array ( 
      'email', 
   ), 
),

또 다른 옵션은 다음과 같이 컨트롤러 자체 인 이메일 패키지를로드하는 것입니다.

\Package::load('email');

이메일 설정은 기본 구성 파일에서 수행 할 수 있으며 몇 가지 중요한 옵션은 다음과 같습니다.

  • driver − smtp와 같은 이메일 드라이버

  • is_html − 메일을 HTML 콘텐츠로 보낼지 여부

  • priority − 이메일 우선 순위

  • smtp.host − SMTP 서버 호스트

  • smtp.port − SMTP 서버 포트

  • smtp.username − SMTP 서버 사용자 이름

  • smtp.password − SMTP 서버 비밀번호

  • smtp.timeout − SMTP 시간 초과

  • smtp.starttls − SMTP 서버에 STARTTLS 명령이 필요한지 여부

이메일 API

다음은 이메일 및 이메일 드라이버 클래스에서 제공하는 API입니다.

단조 공장

목적 : 이메일 드라이버의 인스턴스를 생성합니다. 수신 한 구성 또는 입력을 기반으로 드라이버를 생성합니다. 이메일 드라이버는 메일을 작성하고 보내는 기능을 제공합니다. 가능한 이메일 드라이버 중 일부는 다음과 같습니다.smtp, sendmail, mailgun,mandrill.

  • Parameter − 없음 또는 구성 세부 정보 배열

  • Returns − Email_Driver 객체를 반환합니다.

예를 들면

$email = \Email::forge();  
$email = \Email::forge (array( 
   'driver' => 'smtp', 
));

  • Purpose − 메시지 본문을 설정하려면

  • Parameter − $ body-메시지 본문

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->body('Body message');  

//or pass it a View 
$email->body(\View::forge('my/view', $data);

alt_body

  • Purpose − 대체 메시지 본문을 설정하려면

  • Parameter − $ alt_body-대체 메시지 본문

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->alt_body('Body message');  

//or pass it a View 
$email->alt_body(\View::forge('my/view', $data);

우선 순위

  • Purpose − 메일의 우선 순위를 설정하려면

  • Parameter

    • $priority− 우선 순위 값. 옵션은-

a. \Email::P_LOWEST 
* \Email::P_LOW 
* \Email::P_NORMAL 
* \Email::P_HIGH 
* \Email::P_HIGHEST
  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->priority(\Email::P_HIGHEST);

html_body

  • Purpose − 메시지 본문을 HTML 형식으로 설정하려면

  • Parameter

    • $html − HTML의 메시지 본문

    • generate_alt − 대체 메시지 생성 여부

    • auto_attach − 이미지 삽입 여부

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge();  

// Do generate the alt body, but don't auto attach images. 
$email->html_body(\View::forge('welcome/email', $data), true, false);

...에서

  • Purpose − 보낸 사람 주소를 설정하려면

  • Parameters

    • $from − 이메일 주소에서

    • $name − 발신자 이름

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->from('[email protected]', 'My Name');

제목

  • Purpose − 메시지 제목을 설정하려면

  • Parameter − $ subject-이메일 메시지의 제목

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->subject('Suject of the mail message');

...에

  • Purpose − 수신자 이메일 주소를 설정하려면

  • Parameters

    • $email − 이메일 주소 또는 이메일 주소 배열

    • $name − 수신자 이름

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge();  
$email->to('[email protected]', 'My Dear Name'); 
$email->to (array( 
   '[email protected]', 
   '[email protected]' => 'My Dear friend', 
));

머리글

  • Purpose − 이메일 메시지에 사용자 정의 헤더를 설정하려면

  • Parameters

    • $header − 헤더 유형 또는 헤더 배열

    • $value − 헤더 값

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge(); 
$email->header('X-SMTPAP', 'XXXXXXXX'); 
$email>reply_to (array( 
   'X-SMTPAP'  => 'XXXXXX', 
   'X-SMTPAP2' > 'XXXXXA',
));

붙이다

  • Purpose − 이메일 메시지에 파일을 첨부하려면

  • Parameters

    • $file − 파일 경로

    • $inline − 파일을 인라인으로 첨부할지 여부

    • $cid − 콘텐츠 식별자

    • $mime − 첨부 파일의 MIME 유형

    • $name − 첨부 파일 이름 재정의

  • Returns − 현재 인스턴스를 반환합니다.

예를 들면

$email = \Email::forge();
$email>attach(DOCROOT.'attachments/sample_attachment.pdf');

보내다

  • Purpose − 메일을 보내려면.

  • Parameter

    • $validate − 이메일 주소 유효성 검사 여부

  • Returns − 참 또는 거짓

예를 들면

$email = \Email::forge(); 
try{ 
   $email->send(); 

} catch(\EmailSendingFailedException $e) { 
   // The driver could not send the mail. 

} catch(\EmailValidationFailedException $e) { 
   // One or more email addresses failed validation. 
}

근무 이메일 샘플

이전 장에서 배운 API를 사용하고 메시지를 보내는 간단한 코드를 만들어 보겠습니다. 다음은 메시지를 보내는 가장 간단한 코드입니다.

$email = Email::forge(); 
$email->from('[email protected]', 'person1'); 
$email->to('[email protected]', 'person2'); 
$email->subject('Add something'); 
$email->body('contents of mail'); $email->send();