새 게시물 알림 이메일을 모든 구독자에게 자동으로 전송하기
WordPress 사이트에 새 게시물이 작성될 때마다 모든 구독 사용자에게 자동으로 알림 이메일을 전송합니다.

Gato GraphQL을 사용하면 사이트에 새 게시물이 작성될 때마다 이메일 목록을 구독한 모든 사용자에게 자동으로 알림 이메일을 전송할 수 있습니다.
데모 영상에서는 먼저 퍼시스티드 쿼리 Send email to users about post를 실행하여 특정 게시물의 내용을 담은 이메일 전송을 테스트합니다.
JSON 딕셔너리에서 GraphQL 변수 $postId에 값 1을 전달하고 GraphQL 쿼리를 실행합니다. 모든 이메일을 가로채는 Mailpit에서 확인하면, 개인화된 이메일이 모든 사용자에게 실제로 전송되었음을 확인할 수 있습니다.
예를 들어, 사용자 「Blogger Davenport」는 다음과 같은 이메일을 수신했습니다.

기본적으로 이 GraphQL 퍼시스티드 쿼리는 모든 사용자에게 이메일을 전송합니다. 특정 이메일 목록을 구독한 사용자 등 이메일을 받을 대상을 지정하는 것도 가능합니다. 쿼리 내의 users(filter:) 입력의 주석을 해제하면 됩니다.
{
users
# # Retrieve only users subscribed to an email list (uncomment if needed)
# (
# filter: {
# metaQuery: {
# key: "email_list",
# compareBy: {
# arrayValue: {
# value: "new_posts",
# operator: IN
# }
# }
# }
# }
# )
}이 필터는 메타 email_list(목록 이름의 배열)에 값 new_posts를 가진 사용자를 조회합니다.
쿼리를 다시 실행하면 이번에는 해당 이메일 목록을 구독한 3명의 사용자에게 이메일이 전송되었습니다.
마지막으로, 사이트에 새 게시물이 올라올 때마다 알림 이메일이 자동으로 전송되도록 프로세스를 자동화합니다. 이를 위해 자동화 규칙 Send notification email to users when there is a new post를 게시합니다.
이 자동화 규칙은 훅 gatographql:draft_to_publish에 의해 트리거됩니다. 게시물의 상태가 draft에서 publish로 전환될 때마다 사용자에게 알림 이메일이 자동으로 전송됩니다.