Java 8은 지원이 종료되었으며 2026년 1월 31일에
지원 중단됩니다. 지원 중단 후에는 조직에서 이전에 조직 정책을 사용하여 레거시 런타임의 배포를 다시 사용 설정한 경우에도 Java 8 애플리케이션을 배포할 수 없습니다. 기존 Java 8 애플리케이션은
지원 중단 날짜 이후에도 계속 실행되고 트래픽을 수신합니다.
지원되는 최신 Java 버전으로 마이그레이션하는 것이 좋습니다.
대량 메일 가이드라인
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
애플리케이션에서 대량 이메일, 즉 다수의 수신자에게 유사한 메시지를 보낼 때는 다음 가이드라인을 따라야 합니다. 이 가이드라인은 배포 목록의 수신자가 모두 실제로 이메일 수신을 원하는지 확인함으로써 Gmail 사용자의 받은편지함 전송 속도를 개선하는 데 도움이 됩니다. 수신자가 수동으로 이메일을 스팸으로 표시하면 향후 해당 발신자의 이메일을 스팸으로 표시하라는 강력한 신호가 Gmail에 전송됩니다.
메일 보내기에 대한 자세한 내용은 Mail API 개요를 참조하세요.
인증 및 확인
- 모든 대량 이메일의 발신자는 같아야 합니다. Mail API 함수를 호출하여 이메일을 보내는 경우, 사용자가 지정하는 발신자와 일치하도록
From
헤더가 설정됩니다.
- 발신자 주소는 Google Workspace 도메인의 계정이어야 합니다. 도메인이 아직 무료 체험 기간 중이거나 사용자가 6명 미만인 경우, 스팸으로 표시된 이메일을 너무 많이 보내는 Google 계정이 일시적으로 중지될 수 있습니다. 이 경우 Mail API가
Unauthorized sender
오류 메시지와 함께 예외를 발생시킵니다.
- App Engine을 사용하여 보내는 경우, G Suite 도메인이 필요한 DKIM으로 이메일에 서명합니다.
- 스팸 발송자가 메일 발신자의 주소를 위장하지 못하도록 SPF 레코드를 게시합니다. SPF가 메일 발신자의 DNS 레코드에 게시된 IP 주소에서 이메일이 보내진 것인지 확인합니다. App Engine의 메일 발신자는
apphosting.bounces.google.com
도메인에 있으므로, SPF 레코드를 사용하여 App Engine의 이메일이 배달되어야 하는지 여부를 결정하지 못할 수도 있습니다.
구독
배포 목록의 각 사용자가 다음 중 한 가지 방법으로 메시지 수신에 동의해야 합니다.
- 수신 요청 이메일을 보냄
- 웹 양식 또는 소프트웨어에 있는 체크박스를 직접 확인 표시함
타사로부터 구입한 이메일 주소 목록을 사용하는 것은 수신 동의로 간주되지 않습니다. 또한 웹 양식이나 소프트웨어에서 기본적으로 모든 사용자를 수신 동의 처리하도록 체크박스를 설정해서는 안 됩니다. 사용자가 이메일 수신을 명시적으로 거부하도록 요구해서는 안 됩니다.
웹 양식이나 소프트웨어에서 체크박스를 확인 표시하여 가입한 사람이 실제로 양식에서 지정된 주소로 이메일을 수신하는지 확인해야 합니다. 수신 확인을 요청하는 이메일을 보내 사용자를 확인합니다.
수신 거부
- 사용자는 다음 중 한 가지 방법으로 수신을 거부할 수 있어야 합니다.
- 잘 보이면서 사용자가 간단히 확인만 하면 되는 이메일의 링크를 통해
- 이메일 수신 거부 응답을 통해
- App Engine은
[APP_ID].appspotmail.com
도메인으로 전송된 이메일만 수신할 수 있습니다. 따라서 App Engine 내에서 이메일 수신 거부 응답을 자동으로 처리하려면 발신자를 이 도메인의 주소로 설정해야 합니다.
- App Engine Mail API에서 지원되는
List-Unsubscribe
헤더를 사용합니다.
- 여러 이메일이 반송되는 주소의 사용자를 자동으로 수신 거부로 처리합니다. 앱에서 반송 알림을 수신하도록 구성할 수 있습니다.
- 정기적으로 사용자에게 확인 이메일을 보내 사용자가 가입된 각 목록에서 수신 거부할 수 있는 기회를 제공합니다.
- 사용자가 다른 계정에서 이메일을 전달할 수 있으므로 이메일 내에 수신 동의한 이메일 주소를 명시적으로 나타냅니다.
- 메일 형식은 RFC 2822 SMTP 표준을 따르거나, HTML을 사용하는 경우 w3.org 표준을 따라야 합니다.
- 메시지의 실제 발신자 또는 메시지에 있는 웹 링크의 실제 방문 페이지를 숨기려고 하면 배달이 되지 않을 수 있습니다. 예를 들어 URL Shortener 서비스를 사용하면 이메일 본문에 포함된 실제 URL이 숨겨질 수 있으므로 대량 이메일에는 이 서비스를 사용하지 않는 것이 좋습니다.
- 각 메시지의 제목은 본문 내용과 관련이 있어야 하며 오해의 소지가 없어야 합니다.
게재
- 다음과 같은 조건이 충족되면 메시지가 Gmail 사용자의 받은편지함에 도착할 수 있습니다.
From
주소가 사용자의 연락처 목록에 포함되어 있습니다.
- 사용자가 '스팸해제'를 클릭하여 해당 주소에서 발송된 메시지가 원하는 메시지임을 Gmail에 알립니다.
- 조직과 관련된 프로모션 이메일과 거래 이메일을 모두 보내는 경우, 가능한 한 목적에 따라 이메일을 구분하는 것이 좋습니다.
그 방법은 다음과 같습니다.
- 각 기능에 따라 구분된 이메일 주소 사용
- 각 기능에 대해 서로 다른 도메인에서 이메일 보내기
제3의 발신자
- 다른 사람이 내 서비스를 사용하여 이메일을 보내는 경우, 사용자 또는 클라이언트의 행동을 모니터링할 책임은 본인에게 있습니다. 내 서비스를 사용하여 스팸 이메일을 보내는 모든 사용자 또는 클라이언트를 시기 적절하게 삭제해야 합니다. Google Cloud Platform 서비스이용 정책에서는 구체적으로 스팸을 금지하고 있습니다.
이 정책을 위반하면 Google Cloud Platform 서비스 약관의 설명에 따라 애플리케이션이 정지될 수 있습니다.
- 사용자 또는 클라이언트가 악용을 신고할 수 있는 이메일 주소가 있어야 합니다(일반적으로
abuse@[YOUR_DOMAIN].com
이어야 함). 이와 함께 postmaster@[YOUR_DOMAIN].com
을 모니터링해야 합니다.
- 앱 관리자에게 발송되는 이메일을 모니터링합니다. 예를 들어 서비스이용 정책 위반을 알리기 위해 Google이 긴급하게 앱 관리자에게 연락해야 할 수 있습니다.
이러한 이메일에 신속하게 응답하면 Google이 보다 빠르게 문제를 해결할 수 있습니다.
- 도메인 등록기관이 관리하는 WHOIS 레코드와 abuse.net에 최신 연락처 정보를 유지해야 합니다.
제휴 마케팅 프로그램
- 제휴 마케팅 프로그램에서는 제3자가 사이트에 방문자를 데려오면 보상을 받습니다. 이러한 프로그램은 스팸 발송자에게 매력적이며 잠재적으로 장점보다는 단점이 더 많을 수 있습니다. 다음 사항에 유의하세요.
- 브랜드가 제휴 마케팅 스팸과 연관되면 귀사와 타 제휴사가 보내는 이메일이 영향을 받을 수 있습니다.
- 제휴사를 모니터링하고 제휴사가 스팸을 발송할 경우 제휴를 중단해야 합니다.
App Engine Mail API 대안
- 타사 이메일 전송 서비스 제공업체를 통해 App Engine에서 이메일을 보낼 수 있습니다. 이러한 서비스가 Mail API에서 제공하지 않는 추가 기능을 제공할 수 있으며 일부 대량 이메일 발신자에게 더 유용할 수도 있습니다.
- Sockets API를 사용하면 SMTP 서버에 직접 연결하여 이메일을 보낼 수 있습니다.
대량 메일 제한
단기간에 너무 많은 이메일을 보내면 Google 안전성 한계로 인해 일부 이메일이 자동으로 삭제될 수 있습니다. 이를 방지하려면 일일 할당량을 86,400초(1일)로 나누어 초당 발송되는 일일 최대 이메일 속도를 계산합니다. 일일 최대 속도의 50배를 초과하는 대량 이메일을 보내지 마세요.
메일 발송의 기타 할당량에 대한 자세한 내용은 할당량 및 한도를 참조하세요.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-09-04(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThese guidelines are essential for improving email delivery rates to Gmail users when sending bulk emails, by ensuring recipients actually want to receive the messages.\u003c/p\u003e\n"],["\u003cp\u003eUsing a consistent sender from a Google Workspace domain, signing emails with DKIM, and publishing an SPF record are crucial for authentication and preventing email spoofing.\u003c/p\u003e\n"],["\u003cp\u003eImplementing a clear opt-in process and providing easy unsubscribe options through links, email responses, or the \u003ccode\u003eList-Unsubscribe\u003c/code\u003e header are mandatory for user management and compliance.\u003c/p\u003e\n"],["\u003cp\u003eFollowing RFC 2822 SMTP and w3.org standards for email formatting, avoiding URL shorteners, and ensuring relevant subjects are key to maintaining delivery and avoiding spam filters.\u003c/p\u003e\n"],["\u003cp\u003eIf using affiliate marketing or allowing others to use your service to send email, it's your responsibility to monitor and remove users sending spam to avoid policy violations and maintain a positive sending reputation.\u003c/p\u003e\n"]]],[],null,["# Bulk Mail Guidelines\n\nYou must follow these guidelines if your application is sending\nout bulk email, that is, similar messages to numerous recipients. These\nguidelines will help to improve your inbox delivery rate to Gmail users, by\nensuring that all recipients in your distribution list actually want to receive\nthe email. If recipients manually mark your email as spam, then that acts as a\nstrong signal to Gmail to mark future emails from you as spam.\n\nFor more information on sending mail, see the\n[Mail API Overview](/appengine/docs/legacy/standard/java/mail).\n| This API is supported for first-generation runtimes and can be used when [upgrading to corresponding second-generation runtimes](/appengine/docs/standard/\n| java-gen2\n|\n| /services/access). If you are updating to the App Engine Java 11/17 runtime, refer to the [migration guide](/appengine/migration-center/standard/migrate-to-second-gen/java-differences) to learn about your migration options for legacy bundled services.\n\nAuthentication and identification\n---------------------------------\n\n- Use the same sender for every bulk email. When calling the Mail API function to send email, the `From` header will be set to match the sender you specify.\n- Your sender address should be an account in a [Google Workspace](https://workspace.google.com/) domain. If the domain is still in the free trial period or has less than six users, Google accounts that send too many emails marked as spam might be temporarily disabled. In these cases, the Mail API will throw an exception with an `Unauthorized sender` error message.\n- Sign your email with [DKIM](https://support.google.com/a/answer/174124), which requires a G Suite domain if you are sending using App Engine.\n- Publish an [SPF record](http://support.google.com/a/bin/answer.py?answer=33786) to prevent spammers from spoofing your envelope sender address. SPF verifies that email is sent from an IP address that is published in the DNS records of the envelope sender. App Engine's envelope sender is in the `apphosting.bounces.google.com` domain, so your SPF record may not be used to determine if email from App Engine should be delivered.\n\nSubscription\n------------\n\n- Each user in your distribution list should opt-in to receive messages from you\n in one of the following ways:\n\n - By sending you an email asking to subscribe\n - By manually checking a box on a web form or within a piece of software\n- Using an email address list purchased from a third party is not considered\n opt-in. You also should not set a checkbox on a web form or within a piece of\n software to subscribe all users by default. Users should not be required to\n explicitly opt out of mailings.\n\n- You should verify that the person that signed up by checking the box on the\n web form or in software is actually receiving emails at the address that was\n specified in the form. Verify the user by sending an email that requires them\n to confirm receipt.\n\nUnsubscribing\n-------------\n\n- A user must be able to unsubscribe in one of the following ways:\n - Through a prominent link in the email with no further user interaction other than confirmation.\n - Via an email unsubscribe response.\n- App Engine can only receive email sent to the `[APP_ID].appspotmail.com` domain. Therefore, you will need to set your sender to an address in this domain if you want to automatically handle email unsubscribe responses within App Engine.\n- Use the `List-Unsubscribe` header, which is [supported by the App Engine Mail\n API](#Sending_mail_with_headers).\n- Automatically unsubscribe users whose addresses bounce multiple pieces of email. You can [configure your app to\n receive bounce notifications](#Receiving_bounce_notification).\n- Periodically send email confirmations to users, offering the opportunity to unsubscribe from each list they are signed up for.\n- Explicitly indicate the email address subscribed within your email, because users might forward email from other accounts.\n\nFormat\n------\n\n- Format to [RFC 2822 SMTP standards](http://www.ietf.org/rfc/rfc2822.txt) and, if using HTML, [w3.org standards](http://www.w3.org/standards/techs/html).\n- Attempts to hide the true sender of the message or the true landing page for any web links in the message may result in non-delivery. For example, we recommend that you do not use URL shortener services in bulk email, because these can mask the real URLs contained in the body of your email.\n- The subject of each message should be relevant to the body's content and should not be misleading.\n\nDelivery\n--------\n\n- The following factors will help messages arrive in Gmail users' inboxes:\n - The `From` address is listed in the user's Contacts list.\n - A user clicks \"Not Spam\" to alert Gmail that messages sent from that address are solicited.\n- If you send both promotional email and transactional email relating to your organization, we recommend separating email by purpose as much as possible. You can do this by:\n - Using separate email addresses for each function.\n - Sending email from different domains for each function.\n\nThird-party senders\n-------------------\n\n- If others use your service to send email, you are responsible for monitoring your users and/or clients' behavior. You must remove, in a timely fashion, all users and/or clients who use your service to send spam email. The [Google\n Cloud Platform Acceptable Use Policy](/terms/aup) specifically prohibits spam. Your application can be suspended if you violate this policy, as described in the [Google Cloud Platform Terms of Service](/terms).\n- You must have an email address available for users and/or clients to report abuse, which should normally be `abuse@[YOUR_DOMAIN].com`. You should also monitor `postmaster@[YOUR_DOMAIN].com`.\n- Monitor email sent to app admins. Google may need to urgently contact app admins, for example to notify you of a violation of the Acceptable Use Policy. We can help you to resolve the problems more quickly if you respond promptly to our emails.\n- You must maintain up-to-date contact information in your WHOIS record maintained by your domain registrar, and on [abuse.net](http://abuse.net/).\n\nAffiliate marketing programs\n----------------------------\n\n- Affiliate marketing programs reward third-parties for bringing visitors to your site. These programs are attractive to spammers and can potentially do more harm than good. Please note the following:\n - If your brand becomes associated with affiliate marketing spam, it can affect the email sent by you and your other affiliates.\n - It is your responsibility to monitor your affiliates and remove them if they send spam.\n\nAlternatives to the App Engine Mail API\n---------------------------------------\n\n- You can use a third-party email delivery service provider to send email from App Engine. These services may provide additional features that are not available in the Mail API and may be a better solution for some bulk email senders.\n- You can use the [Sockets API](../sockets) to connect directly to an SMTP server to send email.\n\nLimits for bulk mail\n--------------------\n\nIf you send too many emails in a short burst, some emails might be silently\ndropped due to Google safety limits. To avoid this, calculate the maximum daily\nrate of emails sent per second by dividing your daily quota by 86,400, the\nnumber of seconds in a day. Do not send bulk email at a rate higher than 50\ntimes the maximum daily rate.\n\nFor more information on other quotas around sending mail, see\n[Quotas and limits](/appengine/docs/legacy/standard/java/mail#quotas_and_limits).\n\nWhat's next\n-----------\n\n- Read the [Mail API\n Overview](/appengine/docs/legacy/standard/java/mail).\n- Learn how to [send\n mail with the Mail API](/appengine/docs/legacy/standard/java/mail/sending-mail-with-mail-api)."]]