SendGrid는 이메일 서버를 관리할 필요 없이 이메일 전송을 가능하게 하는 클라우드 기반 SMTP 서비스입니다.
참고: 포트 25는 기본적으로 당사 VM에서 연결이 차단되어 있습니다 기본값으로. 포트 25를 열고 싶다면 Mail Bridge를 구매하고 구성하세요Starlight™ Manager에서.
WHM에서 SendGrid 이메일을 구성하려면 이 가이드를 사용하세요.
아래 단계를 따라 SendGrid 서비스와 이메일 시스템을 CyberPanel 측에서 도메인 이름에 맞게 구성하세요:
1. SendGrid에 가입하세요:

모든 연락처 정보를 입력한 후 “Continue”를 클릭하세요.
2. 브라우저의 새 탭으로 리디렉션되어 이메일 계정을 인증하게 됩니다. 이메일 계정으로 전송된 인증 코드를 복사하여 “Code” 필드에 입력한 후 “Verify”를 클릭하세요:

3. 휴대폰으로 전송된 인증 코드를 “Enter certification code” 필드에 입력하여 휴대폰 번호를 인증하고 “Verify”를 클릭하세요:

4. 이후 휴대폰 분실이나 인증 기기에 접근할 수 없는 경우에 유용한 복구 코드가 제공됩니다. 코드를 복사해 저장하고 “Continue”를 클릭하세요. 코드를 파일로 다운로드하는 옵션도 있습니다:

5. 다음 페이지에서 연락처 정보를 입력하고 “Next”를 클릭하세요:

6. 다음 페이지에서 SendGrid 대시보드를 여세요:

7. 해당 위치에 도달하면 “Settings” >> “API Keys” 메뉴로 이동하여 새 API 키를 생성하세요:

8. 열린 메뉴에서 API 키 이름을 입력하고, API 키 권한을 “Full Access” 옵션으로 설정한 후 구성을 저장하세요:

9. SendGrid 발신자 인증을 설정하세요. 방법은 두 가지가 있습니다:
방법 1: 단일 발신자 인증
단일 발신자 인증 - SendGrid 계정 사용 시 인증된 수신자(하나 또는 여러 개의 이메일 주소)를 추가할 수 있는 빠른 인증 방법입니다. 예를 들어, cPanel 서버에 추가된 john.doe@example.com에서 jane.doe@gmail.com으로 이메일을 보내고 싶을 때 사용할 수 있습니다. 이 경우 jane.doe@gmail.com 이메일 주소를 SendGrid의 단일 발신자 인증에 추가해야 합니다.
참고: 단일 발신자 인증은 테스트 용도로만 권장됩니다.
참고: 인증된 도메인의 모든 주소가 아닌, 인증한 주소에서만 발송할 수 있습니다.
단일 발신자 인증을 설정하려면 SendGrid 대시보드에서 “Settings” >> “Sender Authentication” 메뉴로 이동한 후 “Verify a Single Sender” 버튼을 클릭하세요:

다음 페이지에서 연락처 정보를 입력하여 발신자를 생성하고 “Create”를 클릭해 모든 내용을 저장하세요:

그 후 SendGrid에서 인증 이메일을 받게 됩니다. 이메일 주소 추가를 확인하려면 이메일에서 “Verify Single Sender” 버튼을 클릭하세요:

방법 2: 도메인 인증(권장)
“Settings”를 클릭한 후 “Sender Authentication” 메뉴로 이동하고 “Domain Authentication” 항목에서 “Authenticate Your Domain”을 클릭하세요:

다음 페이지에서 1단계와 2단계의 질문에 답변하여 도메인 이름을 인증하고 “Next”를 클릭하세요:

참고: 스크린샷에서는 두 번째 질문에 “아니오”를 선택했지만, 이 답변은 선택 사항입니다.
그 후 필요한 도메인 이름을 입력하고, 필요하다면 추가 설정을 한 뒤 “Next”를 클릭하세요:

이제 해당 CNAME 및 TXT DNS 레코드를 구성하여 도메인 이름을 인증해야 합니다.
도메인에 대한 DNS 레코드를 생성한 후 2단계에서 “I’ve added these records” 박스를 체크하고 아래의 “Verify”를 클릭하여 추가를 확인하세요:

참고: DNS 레코드가 전파되는 데 최대 24~48시간이 걸릴 수 있습니다.
10. 다음 단계는 CyberPanel 서버의 SMTP 설정을 구성하는 것입니다.
아쉽게도 CyberPanel은 아직 SMTP 구성을 위한 별도의 인터페이스를 제공하지 않습니다. SendGrid는 SSH 터미널을 통해 구성해야 합니다.
먼저, 루트(root)로 서버에 로그인하세요:
ssh root@SERVER_IP_ADDRESS -p PORT
여기서 SERVER_IP_ADDRESS는 서버의 IP 주소이고, PORT는 SSH 연결 포트입니다(기본값은 22022)
/etc/postfix/main.cf 파일을 텍스트 편집기로 여세요:
nano /etc/postfix/main.cf
또는vi /etc/postfix/main.cf
다음 줄을 파일 맨 아래에 추가하세요:
smtp_sasl_auth_enable = yessmtp_sasl_password_maps = hash:/etc/postfix/sasl_passwdsmtp_sasl_security_options = noanonymoussmtp_sasl_tls_security_options = noanonymoussmtp_tls_security_level = encryptheader_size_limit = 4096000relayhost = [smtp.sendgrid.net]:587
이제 별도의 파일에 자격 증명( apikey를 사용자 이름으로, API 키를 비밀번호로 사용)을 지정해야 합니다 /etc/postfix/sasl_passwd (아마 새로 만들어야 할 수도 있습니다):
echo “[smtp.sendgrid.net]:587 apikey:YOUR_SENDGRID_API_KEY” > /etc/postfix/sasl_passwd
여기서 YOUR_SENDGRID_API_KEY는 8단계에서 생성한 키입니다.
다음으로, 파일의 읽기 및 쓰기 권한이 root에게만 제한되어 있는지 확인하고, postmap 명령어를 사용해 Postfix의 해시 테이블을 이 새 파일로 업데이트하세요:
sudo chmod 600 /etc/postfix/sasl_passwdsudo postmap /etc/postfix/sasl_passwd
마지막으로 Postfix를 재시작하세요:
systemctl restart postfix
서버에 SASL 플러그인을 설치하세요:
apt-get install libsasl2-modules # Ubuntu용dnf install cyrus-sasl-plain # Almalinux/CloudLinux용yum install cyrus-sasl-plain # CentOS용
또한, 일부 인스턴스에서는 인증을 위한 MySQL 백엔드 구성을 위해 Dovecot용 MySQL 드라이버가 필요할 수 있습니다:apt install dovecot-sqlite dovecot-mysql # Ubuntu용dnf install dovecot-mysql # Almalinux/CloudLinux용yum install dovecot-mysql # CentOS용
그 후 Dovecot을 재시작하세요:
systemctl restart dovecot
이제 이메일이 SendGrid를 통해 중계되는지 테스트할 수 있습니다:
sendmail -f YOUR_LOCAL_EMAIL -v DESTINATION_EMAIL
여기서 YOUR_LOCAL_EMAIL은 CyberPanel 계정에서 생성한 이메일 계정이고, DESTINATION_EMAIL은 테스트 이메일을 받을 수신자 이메일입니다.
그런 다음 메시지 본문을 입력하고 Ctrl+D를 눌러 전송하세요.
또는 CyberPanel 계정의 웹메일을 사용해 그곳에서 테스트 이메일을 보낼 수도 있습니다.