:doc:`SES <../../ses>` / Client / put_identity_policy

*******************
put_identity_policy
*******************



.. py:method:: SES.Client.put_identity_policy(**kwargs)

  

  Adds or updates a sending authorization policy for the specified identity (an email address or a domain).

   

  .. note::

    

    This operation is for the identity owner only. If you have not verified the identity, it returns an error.

    

   

  Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/sending-authorization.html>`__.

   

  You can execute this operation no more than once per second.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/PutIdentityPolicy>`_  


  **Request Syntax**
  ::

    response = client.put_identity_policy(
        Identity='string',
        PolicyName='string',
        Policy='string'
    )
    
  :type Identity: string
  :param Identity: **[REQUIRED]** 

    The identity to which that the policy applies. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: ``user@example.com``, ``example.com``, ``arn:aws:ses:us-east-1:123456789012:identity/example.com``.

     

    To successfully call this operation, you must own the identity.

    

  
  :type PolicyName: string
  :param PolicyName: **[REQUIRED]** 

    The name of the policy.

     

    The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

    

  
  :type Policy: string
  :param Policy: **[REQUIRED]** 

    The text of the policy in JSON format. The policy cannot exceed 4 KB.

     

    For information about the syntax of sending authorization policies, see the `Amazon SES Developer Guide <https://docs.aws.amazon.com/ses/latest/dg/sending-authorization-policies.html>`__.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 

      An empty element returned on a successful request.

      
  
  **Exceptions**
  
  *   :py:class:`SES.Client.exceptions.InvalidPolicyException`

  

  **Examples**

  The following example adds a sending authorization policy to an identity:
  ::

    response = client.put_identity_policy(
        Identity='example.com',
        Policy='{"Version":"2008-10-17","Statement":[{"Sid":"stmt1469123904194","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789012:root"},"Action":["ses:SendEmail","ses:SendRawEmail"],"Resource":"arn:aws:ses:us-east-1:EXAMPLE65304:identity/example.com"}]}',
        PolicyName='MyPolicy',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResponseMetadata': {
            '...': '...',
        },
    }

  