管理别名
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
“以其他别名发送”别名表示账号可以用来发送邮件的电子邮件地址。每个账号始终至少有一个别名来表示该账号的主电子邮件地址。
“用以下地址发送邮件”别名对应于 Web 界面中的“用以下地址发送邮件”功能。
别名还可用于管理账号的签名。您需要对“用以下地址发送邮件”别名有基本的了解,才能更改电子邮件签名。
上述视频展示了如何遍历“发件人别名”并修改用户主电子邮件地址的签名。
如需了解如何创建、列出、获取、更新或删除别名,请参阅 SendAs
参考文档。
创建和验证别名
您必须先创建别名,然后才能使用。在某些情况下,用户还必须验证别名的所有权。
如果 Gmail 要求对别名进行用户验证,则返回的别名状态为 pending
。系统会自动向目标电子邮件地址发送一封验证邮件。电子邮件地址的所有者必须完成验证流程,然后才能使用该地址。
无需验证的别名的验证状态为 accepted
。
如果需要,请使用 verify 方法重新发送验证请求。
SMTP 设置
外部地址的别名应通过远程 SMTP 邮件发送代理 (MSA) 发送邮件。如需为别名配置 SMTP MSA,请使用 smtpMsa
字段提供连接详情。
管理签名
您还可以为每个别名配置电子邮件签名。例如,如需为用户的主地址设置签名,请执行以下操作:
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-01。
[null,null,["最后更新时间 (UTC):2025-08-01。"],[],[],null,["# Managing Aliases\n\nSend-as aliases represent the email addresses an account can\nsend mail from. Each account always has at least one alias to represent the\nprimary email address of the account.\n\nSend-as aliases correspond to the\n[\"Send mail as\" feature](https://support.google.com/mail/answer/22370) in the\nweb interface.\n\nAliases are also used to manage signatures for an account. Basic understanding\nof send-as aliases are required for you to be able to change email signatures.\nThe above video shows you how to loop through send-as aliases and modify the\nsignature for a user's primary email address.\n\nFor information about how to\n[create](/workspace/gmail/api/v1/reference/users/settings/sendAs/create),\n[list](/workspace/gmail/api/v1/reference/users/settings/sendAs/list),\n[get](/workspace/gmail/api/v1/reference/users/settings/sendAs/get),\n[update](/workspace/gmail/api/v1/reference/users/settings/sendAs/update),\nor [delete](/workspace/gmail/api/v1/reference/users/settings/sendAs/delete) aliases,\nsee the\n[`SendAs` reference](/workspace/gmail/api/reference/rest/v1/users.settings.sendAs).\n\nCreating and verifying aliases\n------------------------------\n\nYou must [create](/workspace/gmail/api/v1/reference/users/settings/sendAs/create)\naliases prior to use. In some cases, users must also verify ownership of the\nalias.\n\nIf Gmail requires user verification for an alias, the alias is returned with the\nstatus `pending`. A verification message is automatically sent to the\ntarget email address. The owner of the email address must complete the verification\nprocess before it can be used.\n\nAliases that do not require verification have a verification status of `accepted`.\n\nUse the [verify](/workspace/gmail/api/v1/reference/users/settings/sendAs/verify) method to\nresend the verification request if needed.\n\n### SMTP settings\n\nAliases for external addresses should send mail through a remote SMTP\nmail sending agent (MSA). To configure the SMTP MSA for an alias, use\nthe `smtpMsa` field to provide the connection details.\n\nManaging signatures\n-------------------\n\nYou may also configure email signatures for each alias. For example, to set the\nsignature for the user's primary address: \n\n### Java\n\ngmail/snippets/src/main/java/UpdateSignature.java \n[View on GitHub](https://github.com/googleworkspace/java-samples/blob/main/gmail/snippets/src/main/java/UpdateSignature.java) \n\n```java\nimport com.google.api.client.googleapis.json.GoogleJsonError;\nimport com.google.api.client.googleapis.json.GoogleJsonResponseException;\nimport com.google.api.client.http.HttpRequestInitializer;\nimport com.google.api.client.http.javanet.NetHttpTransport;\nimport com.google.api.client.json.gson.GsonFactory;\nimport com.google.api.services.gmail.Gmail;\nimport com.google.api.services.gmail.GmailScopes;\nimport com.google.api.services.gmail.model.ListSendAsResponse;\nimport com.google.api.services.gmail.model.SendAs;\nimport com.google.auth.http.HttpCredentialsAdapter;\nimport com.google.auth.oauth2.GoogleCredentials;\nimport java.io.IOException;\n\n/* Class to demonstrate the use of Gmail Update Signature API */\npublic class UpdateSignature {\n /**\n * Update the gmail signature.\n *\n * @return the updated signature id , {@code null} otherwise.\n * @throws IOException - if service account credentials file not found.\n */\n public static String updateGmailSignature() throws IOException {\n /* Load pre-authorized user credentials from the environment.\n TODO(developer) - See https://developers.google.com/identity for\n guides on implementing OAuth2 for your application. */\n GoogleCredentials credentials = GoogleCredentials.getApplicationDefault()\n .createScoped(GmailScopes.GMAIL_SETTINGS_BASIC);\n HttpRequestInitializer requestInitializer = new HttpCredentialsAdapter(credentials);\n\n // Create the gmail API client\n Gmail service = new Gmail.Builder(new NetHttpTransport(),\n GsonFactory.getDefaultInstance(),\n requestInitializer)\n .setApplicationName(\"Gmail samples\")\n .build();\n\n try {\n SendAs primaryAlias = null;\n ListSendAsResponse aliases = service.users().settings().sendAs().list(\"me\").execute();\n for (SendAs alias : aliases.getSendAs()) {\n if (alias.getIsPrimary()) {\n primaryAlias = alias;\n break;\n }\n }\n // Updating a new signature\n SendAs aliasSettings = new SendAs().setSignature(\"Automated Signature\");\n SendAs result = service.users().settings().sendAs().patch(\n \"me\",\n primaryAlias.getSendAsEmail(),\n aliasSettings)\n .execute();\n //Prints the updated signature\n System.out.println(\"Updated signature - \" + result.getSignature());\n return result.getSignature();\n } catch (GoogleJsonResponseException e) {\n // TODO(developer) - handle error appropriately\n GoogleJsonError error = e.getDetails();\n if (error.getCode() == 403) {\n System.err.println(\"Unable to update signature: \" + e.getDetails());\n } else {\n throw e;\n }\n }\n return null;\n }\n}\n```\n\n### Python\n\ngmail/snippet/settings snippets/update_signature.py \n[View on GitHub](https://github.com/googleworkspace/python-samples/blob/main/gmail/snippet/settings snippets/update_signature.py) \n\n```python\nimport google.auth\nfrom googleapiclient.discovery import build\nfrom googleapiclient.errors import HttpError\n\n\ndef update_signature():\n \"\"\"Create and update signature in gmail.\n Returns:Draft object, including updated signature.\n\n Load pre-authorized user credentials from the environment.\n TODO(developer) - See https://developers.google.com/identity\n for guides on implementing OAuth2 for the application.\n \"\"\"\n creds, _ = google.auth.default()\n\n try:\n # create gmail api client\n service = build(\"gmail\", \"v1\", credentials=creds)\n\n primary_alias = None\n\n # pylint: disable=E1101\n aliases = service.users().settings().sendAs().list(userId=\"me\").execute()\n for alias in aliases.get(\"sendAs\"):\n if alias.get(\"isPrimary\"):\n primary_alias = alias\n break\n\n send_as_configuration = {\n \"displayName\": primary_alias.get(\"sendAsEmail\"),\n \"signature\": \"Automated Signature\",\n }\n\n # pylint: disable=E1101\n result = (\n service.users()\n .settings()\n .sendAs()\n .patch(\n userId=\"me\",\n sendAsEmail=primary_alias.get(\"sendAsEmail\"),\n body=send_as_configuration,\n )\n .execute()\n )\n print(f'Updated signature for: {result.get(\"displayName\")}')\n\n except HttpError as error:\n print(f\"An error occurred: {error}\")\n result = None\n\n return result.get(\"signature\")\n\n\nif __name__ == \"__main__\":\n update_signature()\n```"]]