Python의 SendGrid
SendGrid
(거래 및 마케팅 이메일을 위한 고객 커뮤니케이션 플랫폼)의 상위 조직은 Twilio
입니다.
주로 작업은 동적 형식으로 이메일을 보내는 것입니다. 이는 복잡성과 시간 소비를 최소화하는 경향이 있습니다.
처음에는 로그인을 위해 개인 정보를 설정해야 하며, 그 다음에는 여러 기능이 있는 대시보드를 받게 됩니다(이메일을 통해 계정이 확인된 후). 마케팅
섹션으로 이동한 다음 발신자
섹션으로 이동하여 쉽게 이메일을 보낼 수 있습니다.
이중 인증 계정이 있는 경우에만 최상의 경험을 얻을 수 있습니다. 그렇지 않으면 계정이 검토 단계에 들어가는데 시간이 오래 걸릴 수 있습니다.
다음 섹션에서는 계정 생성 세부 사항을 처리하는 단계를 설명합니다. 단계를 하나씩 따르십시오.
-
SendGrid
로 이동합니다. -
계정을 만드세요.
-
이중 인증
을 활성화해야 합니다. -
계정이 생성되고 확인되면 왼쪽 탐색 패널의
설정
탭으로 이동합니다. -
드롭다운 메뉴에서
API 키
옵션을 선택합니다. -
API 키 생성
탭을 클릭하여 앱의 비밀API 키
를 생성합니다. -
API 키 이름
을 설정합니다. -
라디오 버튼에서
전체 액세스
를 선택합니다. -
마지막으로
만들기 및 보기
를 클릭합니다.
API 키를 안전한 곳에 저장했는지 확인하세요. 기술적으로는 한 번만 명시적으로 표시됩니다.
다음 부분에서는 발신자 이메일을 설정합니다.
-
마케팅
으로 이동한 다음발신자
를 클릭합니다. -
발신자 관리
페이지의 오른쪽 상단 모서리에서새 발신자 생성
을 클릭합니다. -
페이지의 모든 필드를 채운 다음
저장
을 클릭합니다.
보낸 사람으로 추가한 메일의 보안을 위해 해당 메일로 확인 메일이 발송될 수 있습니다.
인증을 위해 연락처를 사용할 수 있습니다. 문제가 있는 경우 Google Authy
를 다운로드하고 Authy
에서 사용할 연락처 번호를 사용할 수 있습니다.
이 수동 프로세스는 당신을 구할 수 있습니다.
하지만 이 단계에서 이메일을 보내면 발신자는 확인을 위해 매번 메일을 확인해야 합니다. 다음 코딩 섹션에서는 API 키를 사용하여 여러 수신자에게 이메일을 보내는 방법을 보여줍니다.
SendGrid
API 키를 사용하여 여러 이메일 보내기
처음에는 로컬 컴퓨터에 프로젝트 폴더를 만들어야 합니다. 또한 Python 가상 환경을 시작합니다.
생성하려면 해당 폴더에서 터미널/cmd를 열어야 합니다. 다음 명령을 입력합니다.
python -m venv YourFolderName
cd YourFolderName
이 폴더에 스크립트 파일을 생성합니다(사용한 폴더 이름: sendgrid
). 스크립트 파일로 main.py
를 만들었습니다. 다음으로 종속성을 설치합니다.
그 전에 가상 환경을 활성화해야 합니다. 따라서 sendgrid
폴더에서 터미널을 열고 명령을 수행합니다.
Scripts\activate
pip install sendgrid
pip install python-dotenv
이제 .env
파일(환경 변수를 저장할 파일)을 만듭니다. 그리고 거기에 다음 코드를 보관할 것입니다.
export API_KEY=YOUR_SENDGRID_API_KEY
여기서 API_KEY
변수에는 SendGrid
웹사이트에서 이전에 저장한 API 키를 유지합니다. 다음으로 코딩 섹션으로 이동합니다.
코드 조각:
import os
import dotenv
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail, Email, To, Content
dotenv.load_dotenv()
sgc = SendGridAPIClient(api_key=os.environ.get("API_KEY"))
from_email = Email("sender@example.com") # Change to your verified sender
# Change to your recipient
to_email = [To("receiver1@example.com"), To("receiver2@example.com")]
subject = "Sending with SendGrid is Fun"
content = Content("text/plain", "and easy to do anywhere, even with Python")
mail = Mail(from_email, to_email, subject, content, is_multiple=True)
# is_multiple is used to specify that the mail has multiple recipients
# Get a JSON-ready representation of the Mail object
mail_json = mail.get()
# Send an HTTP POST request to /mail/send
try:
response = sgc.client.mail.send.post(request_body=mail_json)
print(response.status_code)
print(response.headers)
except Exception as e:
print(e)
dotenv
는 API 키를 사전으로 가져오고 호출한 후 모든 전송에서 웹사이트 대시보드에서 업데이트를 볼 수 있습니다. 한 번에 여러 개의 이메일을 보냈습니다.
출력은 SendGrid
대시보드 및 활동 피드에 있을 미리보기를 보여줍니다.
출력: