Mailgun에서 SendGrid로 마이그레이션하는 방법

게시 됨: 2018-11-10

Mailgun이 현재 이메일 서비스 제공업체이고 변경하려는 경우 이 방법은 두 서비스 간의 차이점을 강조하여 SendGrid로 마이그레이션하는 데 도움이 됩니다.

시작하기 전에 둘러보고 싶다면 API 참조 및 세부 정보를 살펴보기 전에 훌륭한 리소스가 포함된 SendGrid 문서를 확인하세요.

술어

특정 Mailgun 기능에 해당하는 SendGrid를 찾고 있다면 다음 표가 도움이 될 것입니다.

SendGrid 용어 메일건 기간
대체/섹션 대체 데이터
카테고리 태그
unique_args X-Mailgun-변수
여러 자격 증명 다중 사용자 액세스
하위 사용자 Mailgun은 개별 하위 사용자를 제공하지 않습니다.
진압 진압
X-SMTPAPI Mailgun은 X-Mailgun-Recipient-Variables와 같은 각 구성 옵션에 대해 개별 X-Header를 사용합니다.
인바운드 구문 분석 웹훅 경로
이벤트 웹훅 웹훅
마케팅 캠페인 동등한 없음

API 키 가져오기

먼저 SendGrid 계정이 필요합니다. 다음으로 전송에 사용할 API 키를 생성해야 합니다. 설정 -> API 키로 이동하거나 이 링크를 사용하십시오. SendGrid 및 보안 모범 사례는 각기 다른 앱에 대해 서로 다른 API 키를 사용하는 것입니다. API 키에는 세분화된 권한이 있으므로 개별 엔드포인트에 대한 읽기 또는 쓰기 액세스를 활성화하거나 비활성화할 수 있습니다. 생성한 API 키에 Mail Send 에 대한 전체 액세스 권한이 있는지 확인하세요. (참고: API 키를 생성하려면 먼저 계정이 프로비저닝을 통과해야 합니다.)

API 라이브러리

고객이 더 쉽게 통합할 수 있도록 공식적으로 지원되는 여러 API 라이브러리가 있습니다. 코드를 다시 작성하거나 마이그레이션의 일부로 ESP와 통신하는 방법을 리팩토링하는 경우 지금이 다음 라이브러리를 평가할 좋은 시간입니다.

  • sendgrid-csharp – 공식 C# 라이브러리
  • sendgrid-go – 공식 바둑 라이브러리
  • sendgrid-java – 공식 자바 라이브러리
  • sendgrid-nodejs – 공식 NodeJS 라이브러리
  • sendgrid-php – 공식 PHP 라이브러리
  • sendgrid-python – 공식 Python 라이브러리
  • sendgrid-ruby – 공식 Ruby 라이브러리

SMTP

SMTP를 통해 보내는 경우 몇 가지 차이점을 알고 있어야 합니다. 인증하려면 'apikey' 문자열을 SMTP 사용자 이름으로 제공하고 API 키를 비밀번호로 사용하십시오. 그런 다음 호스트 이름을 smtp.sendgrid.net 으로 지정하십시오.

포트 25, 2525 및 587에서 암호화되지 않은 또는 TLS를 통해 SMTP를 사용하여 연결할 수 있습니다. 또한 포트 465에서 SSL을 통해 연결할 수도 있습니다. 일반적으로 포트 587을 사용하는 것이 호스팅 공급자와 관련된 문제가 가장 적은 경향이 있기 때문에 권장합니다.

SMTP를 통해 전송된 이메일을 사용자 지정하는 메커니즘은 X-SMTPAPI 헤더입니다. 이 헤더를 사용하면 대체를 정의하고 일괄 메일 병합 스타일 요청을 보내고 보내기에 대해 활성화된 필터(예: 클릭 추적)를 제어할 수 있습니다.

HTTP

이메일을 보내기 위한 기본 엔드포인트는 메일 엔드포인트입니다. 이 끝점에 대한 요청은 API 키가 전달자 토큰으로 제공된 권한 부여 헤더를 통해 인증됩니다. 문서에서 더 자세한 예를 찾을 수 있습니다.

개인화를 사용하면 콘텐츠 사용자 지정을 위한 대체 값 또는 사용자 ID 또는 주문 번호와 메시지를 연결하기 위한 custom_args와 같은 각 메시지에 대한 수신자 및 메타데이터를 정의할 수 있습니다. 일반적인 사용 사례에 대한 개인화의 여러 예가 있습니다. cURL 예제 호출을 찾을 수도 있습니다.

클릭 추적과 같은 기능은 tracking_settings 및 mail_settings 매개변수를 통해 구성됩니다. "send_at" 매개변수를 사용하여 최대 72시간 전에 전송을 예약할 수도 있습니다.

HTTP를 통해 전송된 첨부 파일은 Mailgun과 다르게 처리됩니다. Mailgun에는 첨부할 파일이 포함된 multipart/form-data POST가 필요합니다. SendGrid를 사용하면 콘텐츠가 Base64로 인코딩되고 MIME 정보와 함께 JSON 페이로드에 직접 포함되어 전체 메시지를 동일한 페이로드에 유지하고 HTTP 요청을 단순화합니다. Documentation Classroom의 다음 섹션에서 첨부 파일을 포함하는 방법에 대해 자세히 알아볼 수 있습니다.

웹훅

SendGrid는 실시간 이벤트 게시를 위한 Event Webhook과 이메일을 수신하고 이에 프로그래밍 방식으로 응답하기 위한 Inbound Parse Webhook의 두 가지 웹훅을 제공합니다. 데이터 모양과 페이로드는 Mailgun이 제공하는 것과 약간 다릅니다. 또한 현재 인바운드 메시지를 다른 콜백 URL로 라우팅하는 것을 지원하지 않습니다. API 수준이 아닌 코드에서 이러한 종류의 논리를 처리해야 합니다.

이메일이 아닌 API 엔드포인트

이메일을 보내지 않는 API 엔드포인트의 경우 API v3 개요를 확인하세요. 우리는 대부분의 경우 직관적인 HTTP 메서드와 응답 코드를 사용하고 호출에 대한 속도 제한을 적용합니다. API v2는 더 이상 사용되지 않지만 지원을 중지할 일정은 없습니다. 모든 새로운 통합은 v3를 선호해야 합니다. API v3 인증은 Bearer 토큰이 있는 인증 헤더로 수행됩니다.

마케팅 캠페인

연락처 목록 관리, 템플릿 생성 및 디자인, 다양한 템플릿 A/B 테스트, 캠페인 예약을 위한 모든 기능을 갖춘 플랫폼이 있습니다. 이 모든 것이 비개발자도 사용하기 쉬운 UI에 포함되어 있습니다. 물론 마케팅 캠페인 API를 통해 이러한 모든 기능에 액세스할 수도 있습니다.

몇 가지 자주 묻는 질문

Q: 거래 이메일용 템플릿을 지원합니까?

A: 그렇습니다. 그리고 그것들은 역동적입니다! SendGrid의 트랜잭션 템플릿은 Handlebars 구문을 기본적으로 지원합니다. 기본 대체 및 대체 외에도 목록에 대한 열거/반복을 사용하고 조건문 등을 활용할 수 있습니다. 자세히 알아보려면 여기를 클릭하세요.

Q: 샌드박스나 이메일을 보내지 않고 테스트할 수 있는 방법이 있습니까?

A: HTTP를 통해 보낼 때 샌드박스 모드를 활성화할 수 있습니다. 테스트에 사용할 수 있는 "싱크" 주소도 있습니다.

Q: 내 IP 주소/발신자 평판을 SendGrid로 전송할 수 있습니까?

A: IP 또는 평판을 마이그레이션할 수는 없지만 자동으로 새 IP를 워밍업하도록 도와드릴 수 있습니다.

Q: SendGrid는 강제 TLS 를 지원합니까 ?

A: 물론입니다. 수신 서버가 TLS를 지원하도록 요구하고 준수하지 않는 서버로 가는 메시지를 삭제할 수 있습니다.

Q: 수신자가 수신하려는 이메일 유형을 정의하도록 허용할 수 있습니까?

A: 네. 수신자에게 이메일에 대한 더 많은 제어 권한을 부여하면 사람들이 원하는 이메일을 보낼 수 있으므로 모두에게 더 좋습니다. 자세한 내용은 구독 취소 그룹을 확인하세요.

SendGrid로 마이그레이션하는 데 관심이 있는 경우 sendgrid.com/pricing에서 자세한 정보를 찾을 수 있습니다.