1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`SendRawEmail`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`source(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::source) / [`set_source(Option<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_source):<br>required: **false**<br><p>The identity's email address. If you do not provide a value for this parameter, you must specify a "From" address in the raw text of the message. (You can also specify both.)</p><note>  <p>Amazon SES does not support the SMTPUTF8 extension, as described in<a href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the email address string must be 7-bit ASCII. If you want to send to or from email addresses that contain Unicode characters in the domain part of an address, you must encode the domain using Punycode. Punycode is not permitted in the local part of the email address (the part before the @ sign) nor in the "friendly from" name. If you want to use Unicode characters in the "friendly from" name, you must encode the "friendly from" name using MIME encoded-word syntax, as described in <a href="https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html">Sending raw email using the Amazon SES API</a>. For more information about Punycode, see <a href="http://tools.ietf.org/html/rfc3492">RFC 3492</a>.</p> </note> <p>If you specify the <code>Source</code> parameter and have feedback forwarding enabled, then bounces and complaints are sent to this email address. This takes precedence over any Return-Path header that you might include in the raw text of the message.</p><br>
    ///   - [`destinations(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::destinations) / [`set_destinations(Option<Vec::<String>>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_destinations):<br>required: **false**<br><p>A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.</p><br>
    ///   - [`raw_message(RawMessage)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::raw_message) / [`set_raw_message(Option<RawMessage>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_raw_message):<br>required: **true**<br><p>The raw email message itself. The message has to meet the following criteria:</p> <ul>  <li>   <p>The message has to contain a header and a body, separated by a blank line.</p></li>  <li>   <p>All of the required header fields must be present in the message.</p></li>  <li>   <p>Each part of a multipart MIME message must be formatted properly.</p></li>  <li>   <p>Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see <a href="https://docs.aws.amazon.com/ses/latest/dg/mime-types.html">Unsupported Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p></li>  <li>   <p>The entire message must be base64-encoded.</p></li>  <li>   <p>If any of the MIME parts in your message contain content that is outside of the 7-bit ASCII character range, we highly recommend that you encode that content. For more information, see <a href="https://docs.aws.amazon.com/ses/latest/dg/send-email-raw.html">Sending Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p></li>  <li>   <p>Per <a href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the maximum length of each line of text, including the <crlf>     , must not exceed 1,000 characters.    </crlf></p></li> </ul><br>
    ///   - [`from_arn(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::from_arn) / [`set_from_arn(Option<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_from_arn):<br>required: **false**<br><p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular "From" address in the header of the raw email.</p> <p>Instead of using this parameter, you can use the X-header <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses the value of the <code>FromArn</code> parameter.</p><note>  <p>For information about when to use this parameter, see the description of <code>SendRawEmail</code> in this guide, or see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization-delegate-sender-tasks-email.html">Amazon SES Developer Guide</a>.</p> </note><br>
    ///   - [`source_arn(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::source_arn) / [`set_source_arn(Option<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_source_arn):<br>required: **false**<br><p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified in the <code>Source</code> parameter.</p> <p>For example, if the owner of <code>example.com</code> (which has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) attaches a policy to it that authorizes you to send from <code>user@example.com</code>, then you would specify the <code>SourceArn</code> to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in the raw message of the email. If you use both the <code>SourceArn</code> parameter and the corresponding X-header, Amazon SES uses the value of the <code>SourceArn</code> parameter.</p><note>  <p>For information about when to use this parameter, see the description of <code>SendRawEmail</code> in this guide, or see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization-delegate-sender-tasks-email.html">Amazon SES Developer Guide</a>.</p> </note><br>
    ///   - [`return_path_arn(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::return_path_arn) / [`set_return_path_arn(Option<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_return_path_arn):<br>required: **false**<br><p>This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the <code>ReturnPath</code> parameter.</p> <p>For example, if the owner of <code>example.com</code> (which has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) attaches a policy to it that authorizes you to use <code>feedback@example.com</code>, then you would specify the <code>ReturnPathArn</code> to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead of using this parameter, you can use the X-header <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use both the <code>ReturnPathArn</code> parameter and the corresponding X-header, Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p><note>  <p>For information about when to use this parameter, see the description of <code>SendRawEmail</code> in this guide, or see the <a href="https://docs.aws.amazon.com/ses/latest/dg/sending-authorization-delegate-sender-tasks-email.html">Amazon SES Developer Guide</a>.</p> </note><br>
    ///   - [`tags(MessageTag)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::tags) / [`set_tags(Option<Vec::<MessageTag>>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_tags):<br>required: **false**<br><p>A list of tags, in the form of name/value pairs, to apply to an email that you send using <code>SendRawEmail</code>. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.</p><br>
    ///   - [`configuration_set_name(impl Into<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::configuration_set_name) / [`set_configuration_set_name(Option<String>)`](crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::set_configuration_set_name):<br>required: **false**<br><p>The name of the configuration set to use when you send an email using <code>SendRawEmail</code>.</p><br>
    /// - On success, responds with [`SendRawEmailOutput`](crate::operation::send_raw_email::SendRawEmailOutput) with field(s):
    ///   - [`message_id(String)`](crate::operation::send_raw_email::SendRawEmailOutput::message_id): <p>The unique message identifier returned from the <code>SendRawEmail</code> action.</p>
    /// - On failure, responds with [`SdkError<SendRawEmailError>`](crate::operation::send_raw_email::SendRawEmailError)
    pub fn send_raw_email(&self) -> crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder {
        crate::operation::send_raw_email::builders::SendRawEmailFluentBuilder::new(self.handle.clone())
    }
}