개발자의 끄적끄적

[php] php mailgun api 연동 예제 본문

개발/php

[php] php mailgun api 연동 예제

효벨 2021. 4. 15. 02:00
728x90
반응형

[php] php mailgun api 연동 예제

 

 

php 에서

 

메일발송 연동기능을 개발할때

 

여러가지 api 들을 사용할 수 있는데요

 

이번에는 mailgun api 를 curl 을 이용하여

 

메일을 발송하는 예제를 공유하고자 합니다.

 

 

우선 아래와 같이 발송할 내용을 담은 $fields 라는 배열을 생성합니다.

 

그리고는 send_mail_gun 이라는 함수에 방금 생성한 내용을 담은 배열을

 

변수로 넣어서 호출합니다.

 

$fields = array();
$fields["from"] = "noreply@[MAIL_GUN_REG_DOMAIN]; // 메일건에 등록한 도메인
$fields["to"] = "aaa@aaa.com";
$fields["subject"] = "dawdwd";
$fields["text"] = "wqdqwdwqdqdqwdqd";
$result = send_mail_gun($fields);

 

위에서 넘겨받은 변수배열을

 

http_build_query 를 이용하여 query string 로 변환하여 post 로

 

전송하는 내용입니다.

 

function send_mail_gun($fields) {
    $url = https://api.mailgun.net/v3/'.{MAIL_GUN_REG_DOMAIN}.'/messages'; // 메일건에 등록한 도메인
    $header = array();
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, TRUE);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_HEADER, 1 );
    curl_setopt($ch, CURLOPT_USERPWD, "api:".MAILGUN_API_KEY);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($fields));
    $res = curl_exec($ch);
    curl_close($ch);
    return $res;
}

 

위 내용에서 MAIL_GUN_REG_DOMAIN 이라는 내용은

 

메일건에 등록한 도메인 주소를 말하는 겁니다!

 

 

여기서 주의할점은 

 

인증방식이 header 가 아니라

 

curl_setopt($ch, CURLOPT_USERPWD, "api:".MAILGUN_API_KEY); 

 

여기에 사이트에서 발급받은 api key 를 넣어서 인증하는 방식이라는 점 입니다!

 

참고들 하세요!

반응형
Comments