1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/email/SES_EXPORTS.h> 8 #include <aws/email/SESRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <aws/email/model/RawMessage.h> 12 #include <aws/email/model/MessageTag.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace SES 18 { 19 namespace Model 20 { 21 22 /** 23 * <p>Represents a request to send a single raw email using Amazon SES. For more 24 * information, see the <a 25 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Amazon 26 * SES Developer Guide</a>.</p><p><h3>See Also:</h3> <a 27 * href="http://docs.aws.amazon.com/goto/WebAPI/email-2010-12-01/SendRawEmailRequest">AWS 28 * API Reference</a></p> 29 */ 30 class AWS_SES_API SendRawEmailRequest : public SESRequest 31 { 32 public: 33 SendRawEmailRequest(); 34 35 // Service request name is the Operation name which will send this request out, 36 // each operation should has unique request name, so that we can get operation's name from this request. 37 // Note: this is not true for response, multiple operations may have the same response name, 38 // so we can not get operation's name from response. GetServiceRequestName()39 inline virtual const char* GetServiceRequestName() const override { return "SendRawEmail"; } 40 41 Aws::String SerializePayload() const override; 42 43 protected: 44 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 45 46 public: 47 48 /** 49 * <p>The identity's email address. If you do not provide a value for this 50 * parameter, you must specify a "From" address in the raw text of the message. 51 * (You can also specify both.)</p> <p>Amazon SES does not support the 52 * SMTPUTF8 extension, as described in<a 53 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 54 * <i>local part</i> of a source email address (the part of the email address that 55 * precedes the @ sign) may only contain <a 56 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 57 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 58 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 59 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 60 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 61 * characters. These characters must be encoded using MIME encoded-word syntax, as 62 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 63 * encoded-word syntax uses the following form: 64 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 65 * the <code>Source</code> parameter and have feedback forwarding enabled, then 66 * bounces and complaints will be sent to this email address. This takes precedence 67 * over any Return-Path header that you might include in the raw text of the 68 * message.</p> 69 */ GetSource()70 inline const Aws::String& GetSource() const{ return m_source; } 71 72 /** 73 * <p>The identity's email address. If you do not provide a value for this 74 * parameter, you must specify a "From" address in the raw text of the message. 75 * (You can also specify both.)</p> <p>Amazon SES does not support the 76 * SMTPUTF8 extension, as described in<a 77 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 78 * <i>local part</i> of a source email address (the part of the email address that 79 * precedes the @ sign) may only contain <a 80 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 81 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 82 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 83 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 84 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 85 * characters. These characters must be encoded using MIME encoded-word syntax, as 86 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 87 * encoded-word syntax uses the following form: 88 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 89 * the <code>Source</code> parameter and have feedback forwarding enabled, then 90 * bounces and complaints will be sent to this email address. This takes precedence 91 * over any Return-Path header that you might include in the raw text of the 92 * message.</p> 93 */ SourceHasBeenSet()94 inline bool SourceHasBeenSet() const { return m_sourceHasBeenSet; } 95 96 /** 97 * <p>The identity's email address. If you do not provide a value for this 98 * parameter, you must specify a "From" address in the raw text of the message. 99 * (You can also specify both.)</p> <p>Amazon SES does not support the 100 * SMTPUTF8 extension, as described in<a 101 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 102 * <i>local part</i> of a source email address (the part of the email address that 103 * precedes the @ sign) may only contain <a 104 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 105 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 106 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 107 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 108 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 109 * characters. These characters must be encoded using MIME encoded-word syntax, as 110 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 111 * encoded-word syntax uses the following form: 112 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 113 * the <code>Source</code> parameter and have feedback forwarding enabled, then 114 * bounces and complaints will be sent to this email address. This takes precedence 115 * over any Return-Path header that you might include in the raw text of the 116 * message.</p> 117 */ SetSource(const Aws::String & value)118 inline void SetSource(const Aws::String& value) { m_sourceHasBeenSet = true; m_source = value; } 119 120 /** 121 * <p>The identity's email address. If you do not provide a value for this 122 * parameter, you must specify a "From" address in the raw text of the message. 123 * (You can also specify both.)</p> <p>Amazon SES does not support the 124 * SMTPUTF8 extension, as described in<a 125 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 126 * <i>local part</i> of a source email address (the part of the email address that 127 * precedes the @ sign) may only contain <a 128 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 129 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 130 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 131 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 132 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 133 * characters. These characters must be encoded using MIME encoded-word syntax, as 134 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 135 * encoded-word syntax uses the following form: 136 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 137 * the <code>Source</code> parameter and have feedback forwarding enabled, then 138 * bounces and complaints will be sent to this email address. This takes precedence 139 * over any Return-Path header that you might include in the raw text of the 140 * message.</p> 141 */ SetSource(Aws::String && value)142 inline void SetSource(Aws::String&& value) { m_sourceHasBeenSet = true; m_source = std::move(value); } 143 144 /** 145 * <p>The identity's email address. If you do not provide a value for this 146 * parameter, you must specify a "From" address in the raw text of the message. 147 * (You can also specify both.)</p> <p>Amazon SES does not support the 148 * SMTPUTF8 extension, as described in<a 149 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 150 * <i>local part</i> of a source email address (the part of the email address that 151 * precedes the @ sign) may only contain <a 152 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 153 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 154 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 155 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 156 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 157 * characters. These characters must be encoded using MIME encoded-word syntax, as 158 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 159 * encoded-word syntax uses the following form: 160 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 161 * the <code>Source</code> parameter and have feedback forwarding enabled, then 162 * bounces and complaints will be sent to this email address. This takes precedence 163 * over any Return-Path header that you might include in the raw text of the 164 * message.</p> 165 */ SetSource(const char * value)166 inline void SetSource(const char* value) { m_sourceHasBeenSet = true; m_source.assign(value); } 167 168 /** 169 * <p>The identity's email address. If you do not provide a value for this 170 * parameter, you must specify a "From" address in the raw text of the message. 171 * (You can also specify both.)</p> <p>Amazon SES does not support the 172 * SMTPUTF8 extension, as described in<a 173 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 174 * <i>local part</i> of a source email address (the part of the email address that 175 * precedes the @ sign) may only contain <a 176 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 177 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 178 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 179 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 180 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 181 * characters. These characters must be encoded using MIME encoded-word syntax, as 182 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 183 * encoded-word syntax uses the following form: 184 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 185 * the <code>Source</code> parameter and have feedback forwarding enabled, then 186 * bounces and complaints will be sent to this email address. This takes precedence 187 * over any Return-Path header that you might include in the raw text of the 188 * message.</p> 189 */ WithSource(const Aws::String & value)190 inline SendRawEmailRequest& WithSource(const Aws::String& value) { SetSource(value); return *this;} 191 192 /** 193 * <p>The identity's email address. If you do not provide a value for this 194 * parameter, you must specify a "From" address in the raw text of the message. 195 * (You can also specify both.)</p> <p>Amazon SES does not support the 196 * SMTPUTF8 extension, as described in<a 197 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 198 * <i>local part</i> of a source email address (the part of the email address that 199 * precedes the @ sign) may only contain <a 200 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 201 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 202 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 203 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 204 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 205 * characters. These characters must be encoded using MIME encoded-word syntax, as 206 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 207 * encoded-word syntax uses the following form: 208 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 209 * the <code>Source</code> parameter and have feedback forwarding enabled, then 210 * bounces and complaints will be sent to this email address. This takes precedence 211 * over any Return-Path header that you might include in the raw text of the 212 * message.</p> 213 */ WithSource(Aws::String && value)214 inline SendRawEmailRequest& WithSource(Aws::String&& value) { SetSource(std::move(value)); return *this;} 215 216 /** 217 * <p>The identity's email address. If you do not provide a value for this 218 * parameter, you must specify a "From" address in the raw text of the message. 219 * (You can also specify both.)</p> <p>Amazon SES does not support the 220 * SMTPUTF8 extension, as described in<a 221 * href="https://tools.ietf.org/html/rfc6531">RFC6531</a>. For this reason, the 222 * <i>local part</i> of a source email address (the part of the email address that 223 * precedes the @ sign) may only contain <a 224 * href="https://en.wikipedia.org/wiki/Email_address#Local-part">7-bit ASCII 225 * characters</a>. If the <i>domain part</i> of an address (the part after the @ 226 * sign) contains non-ASCII characters, they must be encoded using Punycode, as 227 * described in <a href="https://tools.ietf.org/html/rfc3492.html">RFC3492</a>. The 228 * sender name (also known as the <i>friendly name</i>) may contain non-ASCII 229 * characters. These characters must be encoded using MIME encoded-word syntax, as 230 * described in <a href="https://tools.ietf.org/html/rfc2047">RFC 2047</a>. MIME 231 * encoded-word syntax uses the following form: 232 * <code>=?charset?encoding?encoded-text?=</code>.</p> <p>If you specify 233 * the <code>Source</code> parameter and have feedback forwarding enabled, then 234 * bounces and complaints will be sent to this email address. This takes precedence 235 * over any Return-Path header that you might include in the raw text of the 236 * message.</p> 237 */ WithSource(const char * value)238 inline SendRawEmailRequest& WithSource(const char* value) { SetSource(value); return *this;} 239 240 241 /** 242 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 243 * addresses.</p> 244 */ GetDestinations()245 inline const Aws::Vector<Aws::String>& GetDestinations() const{ return m_destinations; } 246 247 /** 248 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 249 * addresses.</p> 250 */ DestinationsHasBeenSet()251 inline bool DestinationsHasBeenSet() const { return m_destinationsHasBeenSet; } 252 253 /** 254 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 255 * addresses.</p> 256 */ SetDestinations(const Aws::Vector<Aws::String> & value)257 inline void SetDestinations(const Aws::Vector<Aws::String>& value) { m_destinationsHasBeenSet = true; m_destinations = value; } 258 259 /** 260 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 261 * addresses.</p> 262 */ SetDestinations(Aws::Vector<Aws::String> && value)263 inline void SetDestinations(Aws::Vector<Aws::String>&& value) { m_destinationsHasBeenSet = true; m_destinations = std::move(value); } 264 265 /** 266 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 267 * addresses.</p> 268 */ WithDestinations(const Aws::Vector<Aws::String> & value)269 inline SendRawEmailRequest& WithDestinations(const Aws::Vector<Aws::String>& value) { SetDestinations(value); return *this;} 270 271 /** 272 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 273 * addresses.</p> 274 */ WithDestinations(Aws::Vector<Aws::String> && value)275 inline SendRawEmailRequest& WithDestinations(Aws::Vector<Aws::String>&& value) { SetDestinations(std::move(value)); return *this;} 276 277 /** 278 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 279 * addresses.</p> 280 */ AddDestinations(const Aws::String & value)281 inline SendRawEmailRequest& AddDestinations(const Aws::String& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 282 283 /** 284 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 285 * addresses.</p> 286 */ AddDestinations(Aws::String && value)287 inline SendRawEmailRequest& AddDestinations(Aws::String&& value) { m_destinationsHasBeenSet = true; m_destinations.push_back(std::move(value)); return *this; } 288 289 /** 290 * <p>A list of destinations for the message, consisting of To:, CC:, and BCC: 291 * addresses.</p> 292 */ AddDestinations(const char * value)293 inline SendRawEmailRequest& AddDestinations(const char* value) { m_destinationsHasBeenSet = true; m_destinations.push_back(value); return *this; } 294 295 296 /** 297 * <p>The raw email message itself. The message has to meet the following 298 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 299 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 300 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 301 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 302 * content type that Amazon SES supports. For a list on unsupported content types, 303 * see <a 304 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 305 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 306 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 307 * MIME parts in your message contain content that is outside of the 7-bit ASCII 308 * character range, we highly recommend that you encode that content. For more 309 * information, see <a 310 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 311 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 312 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 313 * maximum length of each line of text, including the <CRLF>, must not exceed 314 * 1,000 characters.</p> </li> </ul> 315 */ GetRawMessage()316 inline const RawMessage& GetRawMessage() const{ return m_rawMessage; } 317 318 /** 319 * <p>The raw email message itself. The message has to meet the following 320 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 321 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 322 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 323 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 324 * content type that Amazon SES supports. For a list on unsupported content types, 325 * see <a 326 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 327 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 328 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 329 * MIME parts in your message contain content that is outside of the 7-bit ASCII 330 * character range, we highly recommend that you encode that content. For more 331 * information, see <a 332 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 333 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 334 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 335 * maximum length of each line of text, including the <CRLF>, must not exceed 336 * 1,000 characters.</p> </li> </ul> 337 */ RawMessageHasBeenSet()338 inline bool RawMessageHasBeenSet() const { return m_rawMessageHasBeenSet; } 339 340 /** 341 * <p>The raw email message itself. The message has to meet the following 342 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 343 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 344 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 345 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 346 * content type that Amazon SES supports. For a list on unsupported content types, 347 * see <a 348 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 349 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 350 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 351 * MIME parts in your message contain content that is outside of the 7-bit ASCII 352 * character range, we highly recommend that you encode that content. For more 353 * information, see <a 354 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 355 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 356 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 357 * maximum length of each line of text, including the <CRLF>, must not exceed 358 * 1,000 characters.</p> </li> </ul> 359 */ SetRawMessage(const RawMessage & value)360 inline void SetRawMessage(const RawMessage& value) { m_rawMessageHasBeenSet = true; m_rawMessage = value; } 361 362 /** 363 * <p>The raw email message itself. The message has to meet the following 364 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 365 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 366 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 367 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 368 * content type that Amazon SES supports. For a list on unsupported content types, 369 * see <a 370 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 371 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 372 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 373 * MIME parts in your message contain content that is outside of the 7-bit ASCII 374 * character range, we highly recommend that you encode that content. For more 375 * information, see <a 376 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 377 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 378 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 379 * maximum length of each line of text, including the <CRLF>, must not exceed 380 * 1,000 characters.</p> </li> </ul> 381 */ SetRawMessage(RawMessage && value)382 inline void SetRawMessage(RawMessage&& value) { m_rawMessageHasBeenSet = true; m_rawMessage = std::move(value); } 383 384 /** 385 * <p>The raw email message itself. The message has to meet the following 386 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 387 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 388 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 389 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 390 * content type that Amazon SES supports. For a list on unsupported content types, 391 * see <a 392 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 393 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 394 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 395 * MIME parts in your message contain content that is outside of the 7-bit ASCII 396 * character range, we highly recommend that you encode that content. For more 397 * information, see <a 398 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 399 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 400 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 401 * maximum length of each line of text, including the <CRLF>, must not exceed 402 * 1,000 characters.</p> </li> </ul> 403 */ WithRawMessage(const RawMessage & value)404 inline SendRawEmailRequest& WithRawMessage(const RawMessage& value) { SetRawMessage(value); return *this;} 405 406 /** 407 * <p>The raw email message itself. The message has to meet the following 408 * criteria:</p> <ul> <li> <p>The message has to contain a header and a body, 409 * separated by a blank line.</p> </li> <li> <p>All of the required header fields 410 * must be present in the message.</p> </li> <li> <p>Each part of a multipart MIME 411 * message must be formatted properly.</p> </li> <li> <p>Attachments must be of a 412 * content type that Amazon SES supports. For a list on unsupported content types, 413 * see <a 414 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/mime-types.html">Unsupported 415 * Attachment Types</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> 416 * <p>The entire message must be base64-encoded.</p> </li> <li> <p>If any of the 417 * MIME parts in your message contain content that is outside of the 7-bit ASCII 418 * character range, we highly recommend that you encode that content. For more 419 * information, see <a 420 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html">Sending 421 * Raw Email</a> in the <i>Amazon SES Developer Guide</i>.</p> </li> <li> <p>Per <a 422 * href="https://tools.ietf.org/html/rfc5321#section-4.5.3.1.6">RFC 5321</a>, the 423 * maximum length of each line of text, including the <CRLF>, must not exceed 424 * 1,000 characters.</p> </li> </ul> 425 */ WithRawMessage(RawMessage && value)426 inline SendRawEmailRequest& WithRawMessage(RawMessage&& value) { SetRawMessage(std::move(value)); return *this;} 427 428 429 /** 430 * <p>This parameter is used only for sending authorization. It is the ARN of the 431 * identity that is associated with the sending authorization policy that permits 432 * you to specify a particular "From" address in the header of the raw email.</p> 433 * <p>Instead of using this parameter, you can use the X-header 434 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 435 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 436 * the value of the <code>FromArn</code> parameter.</p> <p>For information 437 * about when to use this parameter, see the description of 438 * <code>SendRawEmail</code> in this guide, or see the <a 439 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 440 * SES Developer Guide</a>.</p> 441 */ GetFromArn()442 inline const Aws::String& GetFromArn() const{ return m_fromArn; } 443 444 /** 445 * <p>This parameter is used only for sending authorization. It is the ARN of the 446 * identity that is associated with the sending authorization policy that permits 447 * you to specify a particular "From" address in the header of the raw email.</p> 448 * <p>Instead of using this parameter, you can use the X-header 449 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 450 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 451 * the value of the <code>FromArn</code> parameter.</p> <p>For information 452 * about when to use this parameter, see the description of 453 * <code>SendRawEmail</code> in this guide, or see the <a 454 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 455 * SES Developer Guide</a>.</p> 456 */ FromArnHasBeenSet()457 inline bool FromArnHasBeenSet() const { return m_fromArnHasBeenSet; } 458 459 /** 460 * <p>This parameter is used only for sending authorization. It is the ARN of the 461 * identity that is associated with the sending authorization policy that permits 462 * you to specify a particular "From" address in the header of the raw email.</p> 463 * <p>Instead of using this parameter, you can use the X-header 464 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 465 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 466 * the value of the <code>FromArn</code> parameter.</p> <p>For information 467 * about when to use this parameter, see the description of 468 * <code>SendRawEmail</code> in this guide, or see the <a 469 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 470 * SES Developer Guide</a>.</p> 471 */ SetFromArn(const Aws::String & value)472 inline void SetFromArn(const Aws::String& value) { m_fromArnHasBeenSet = true; m_fromArn = value; } 473 474 /** 475 * <p>This parameter is used only for sending authorization. It is the ARN of the 476 * identity that is associated with the sending authorization policy that permits 477 * you to specify a particular "From" address in the header of the raw email.</p> 478 * <p>Instead of using this parameter, you can use the X-header 479 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 480 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 481 * the value of the <code>FromArn</code> parameter.</p> <p>For information 482 * about when to use this parameter, see the description of 483 * <code>SendRawEmail</code> in this guide, or see the <a 484 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 485 * SES Developer Guide</a>.</p> 486 */ SetFromArn(Aws::String && value)487 inline void SetFromArn(Aws::String&& value) { m_fromArnHasBeenSet = true; m_fromArn = std::move(value); } 488 489 /** 490 * <p>This parameter is used only for sending authorization. It is the ARN of the 491 * identity that is associated with the sending authorization policy that permits 492 * you to specify a particular "From" address in the header of the raw email.</p> 493 * <p>Instead of using this parameter, you can use the X-header 494 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 495 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 496 * the value of the <code>FromArn</code> parameter.</p> <p>For information 497 * about when to use this parameter, see the description of 498 * <code>SendRawEmail</code> in this guide, or see the <a 499 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 500 * SES Developer Guide</a>.</p> 501 */ SetFromArn(const char * value)502 inline void SetFromArn(const char* value) { m_fromArnHasBeenSet = true; m_fromArn.assign(value); } 503 504 /** 505 * <p>This parameter is used only for sending authorization. It is the ARN of the 506 * identity that is associated with the sending authorization policy that permits 507 * you to specify a particular "From" address in the header of the raw email.</p> 508 * <p>Instead of using this parameter, you can use the X-header 509 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 510 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 511 * the value of the <code>FromArn</code> parameter.</p> <p>For information 512 * about when to use this parameter, see the description of 513 * <code>SendRawEmail</code> in this guide, or see the <a 514 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 515 * SES Developer Guide</a>.</p> 516 */ WithFromArn(const Aws::String & value)517 inline SendRawEmailRequest& WithFromArn(const Aws::String& value) { SetFromArn(value); return *this;} 518 519 /** 520 * <p>This parameter is used only for sending authorization. It is the ARN of the 521 * identity that is associated with the sending authorization policy that permits 522 * you to specify a particular "From" address in the header of the raw email.</p> 523 * <p>Instead of using this parameter, you can use the X-header 524 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 525 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 526 * the value of the <code>FromArn</code> parameter.</p> <p>For information 527 * about when to use this parameter, see the description of 528 * <code>SendRawEmail</code> in this guide, or see the <a 529 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 530 * SES Developer Guide</a>.</p> 531 */ WithFromArn(Aws::String && value)532 inline SendRawEmailRequest& WithFromArn(Aws::String&& value) { SetFromArn(std::move(value)); return *this;} 533 534 /** 535 * <p>This parameter is used only for sending authorization. It is the ARN of the 536 * identity that is associated with the sending authorization policy that permits 537 * you to specify a particular "From" address in the header of the raw email.</p> 538 * <p>Instead of using this parameter, you can use the X-header 539 * <code>X-SES-FROM-ARN</code> in the raw message of the email. If you use both the 540 * <code>FromArn</code> parameter and the corresponding X-header, Amazon SES uses 541 * the value of the <code>FromArn</code> parameter.</p> <p>For information 542 * about when to use this parameter, see the description of 543 * <code>SendRawEmail</code> in this guide, or see the <a 544 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 545 * SES Developer Guide</a>.</p> 546 */ WithFromArn(const char * value)547 inline SendRawEmailRequest& WithFromArn(const char* value) { SetFromArn(value); return *this;} 548 549 550 /** 551 * <p>This parameter is used only for sending authorization. It is the ARN of the 552 * identity that is associated with the sending authorization policy that permits 553 * you to send for the email address specified in the <code>Source</code> 554 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 555 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 556 * attaches a policy to it that authorizes you to send from 557 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 558 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 559 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 560 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 561 * the raw message of the email. If you use both the <code>SourceArn</code> 562 * parameter and the corresponding X-header, Amazon SES uses the value of the 563 * <code>SourceArn</code> parameter.</p> <p>For information about when to 564 * use this parameter, see the description of <code>SendRawEmail</code> in this 565 * guide, or see the <a 566 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 567 * SES Developer Guide</a>.</p> 568 */ GetSourceArn()569 inline const Aws::String& GetSourceArn() const{ return m_sourceArn; } 570 571 /** 572 * <p>This parameter is used only for sending authorization. It is the ARN of the 573 * identity that is associated with the sending authorization policy that permits 574 * you to send for the email address specified in the <code>Source</code> 575 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 576 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 577 * attaches a policy to it that authorizes you to send from 578 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 579 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 580 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 581 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 582 * the raw message of the email. If you use both the <code>SourceArn</code> 583 * parameter and the corresponding X-header, Amazon SES uses the value of the 584 * <code>SourceArn</code> parameter.</p> <p>For information about when to 585 * use this parameter, see the description of <code>SendRawEmail</code> in this 586 * guide, or see the <a 587 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 588 * SES Developer Guide</a>.</p> 589 */ SourceArnHasBeenSet()590 inline bool SourceArnHasBeenSet() const { return m_sourceArnHasBeenSet; } 591 592 /** 593 * <p>This parameter is used only for sending authorization. It is the ARN of the 594 * identity that is associated with the sending authorization policy that permits 595 * you to send for the email address specified in the <code>Source</code> 596 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 597 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 598 * attaches a policy to it that authorizes you to send from 599 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 600 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 601 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 602 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 603 * the raw message of the email. If you use both the <code>SourceArn</code> 604 * parameter and the corresponding X-header, Amazon SES uses the value of the 605 * <code>SourceArn</code> parameter.</p> <p>For information about when to 606 * use this parameter, see the description of <code>SendRawEmail</code> in this 607 * guide, or see the <a 608 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 609 * SES Developer Guide</a>.</p> 610 */ SetSourceArn(const Aws::String & value)611 inline void SetSourceArn(const Aws::String& value) { m_sourceArnHasBeenSet = true; m_sourceArn = value; } 612 613 /** 614 * <p>This parameter is used only for sending authorization. It is the ARN of the 615 * identity that is associated with the sending authorization policy that permits 616 * you to send for the email address specified in the <code>Source</code> 617 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 618 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 619 * attaches a policy to it that authorizes you to send from 620 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 621 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 622 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 623 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 624 * the raw message of the email. If you use both the <code>SourceArn</code> 625 * parameter and the corresponding X-header, Amazon SES uses the value of the 626 * <code>SourceArn</code> parameter.</p> <p>For information about when to 627 * use this parameter, see the description of <code>SendRawEmail</code> in this 628 * guide, or see the <a 629 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 630 * SES Developer Guide</a>.</p> 631 */ SetSourceArn(Aws::String && value)632 inline void SetSourceArn(Aws::String&& value) { m_sourceArnHasBeenSet = true; m_sourceArn = std::move(value); } 633 634 /** 635 * <p>This parameter is used only for sending authorization. It is the ARN of the 636 * identity that is associated with the sending authorization policy that permits 637 * you to send for the email address specified in the <code>Source</code> 638 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 639 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 640 * attaches a policy to it that authorizes you to send from 641 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 642 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 643 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 644 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 645 * the raw message of the email. If you use both the <code>SourceArn</code> 646 * parameter and the corresponding X-header, Amazon SES uses the value of the 647 * <code>SourceArn</code> parameter.</p> <p>For information about when to 648 * use this parameter, see the description of <code>SendRawEmail</code> in this 649 * guide, or see the <a 650 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 651 * SES Developer Guide</a>.</p> 652 */ SetSourceArn(const char * value)653 inline void SetSourceArn(const char* value) { m_sourceArnHasBeenSet = true; m_sourceArn.assign(value); } 654 655 /** 656 * <p>This parameter is used only for sending authorization. It is the ARN of the 657 * identity that is associated with the sending authorization policy that permits 658 * you to send for the email address specified in the <code>Source</code> 659 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 660 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 661 * attaches a policy to it that authorizes you to send from 662 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 663 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 664 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 665 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 666 * the raw message of the email. If you use both the <code>SourceArn</code> 667 * parameter and the corresponding X-header, Amazon SES uses the value of the 668 * <code>SourceArn</code> parameter.</p> <p>For information about when to 669 * use this parameter, see the description of <code>SendRawEmail</code> in this 670 * guide, or see the <a 671 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 672 * SES Developer Guide</a>.</p> 673 */ WithSourceArn(const Aws::String & value)674 inline SendRawEmailRequest& WithSourceArn(const Aws::String& value) { SetSourceArn(value); return *this;} 675 676 /** 677 * <p>This parameter is used only for sending authorization. It is the ARN of the 678 * identity that is associated with the sending authorization policy that permits 679 * you to send for the email address specified in the <code>Source</code> 680 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 681 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 682 * attaches a policy to it that authorizes you to send from 683 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 684 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 685 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 686 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 687 * the raw message of the email. If you use both the <code>SourceArn</code> 688 * parameter and the corresponding X-header, Amazon SES uses the value of the 689 * <code>SourceArn</code> parameter.</p> <p>For information about when to 690 * use this parameter, see the description of <code>SendRawEmail</code> in this 691 * guide, or see the <a 692 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 693 * SES Developer Guide</a>.</p> 694 */ WithSourceArn(Aws::String && value)695 inline SendRawEmailRequest& WithSourceArn(Aws::String&& value) { SetSourceArn(std::move(value)); return *this;} 696 697 /** 698 * <p>This parameter is used only for sending authorization. It is the ARN of the 699 * identity that is associated with the sending authorization policy that permits 700 * you to send for the email address specified in the <code>Source</code> 701 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 702 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 703 * attaches a policy to it that authorizes you to send from 704 * <code>user@example.com</code>, then you would specify the <code>SourceArn</code> 705 * to be <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and 706 * the <code>Source</code> to be <code>user@example.com</code>.</p> <p>Instead of 707 * using this parameter, you can use the X-header <code>X-SES-SOURCE-ARN</code> in 708 * the raw message of the email. If you use both the <code>SourceArn</code> 709 * parameter and the corresponding X-header, Amazon SES uses the value of the 710 * <code>SourceArn</code> parameter.</p> <p>For information about when to 711 * use this parameter, see the description of <code>SendRawEmail</code> in this 712 * guide, or see the <a 713 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 714 * SES Developer Guide</a>.</p> 715 */ WithSourceArn(const char * value)716 inline SendRawEmailRequest& WithSourceArn(const char* value) { SetSourceArn(value); return *this;} 717 718 719 /** 720 * <p>This parameter is used only for sending authorization. It is the ARN of the 721 * identity that is associated with the sending authorization policy that permits 722 * you to use the email address specified in the <code>ReturnPath</code> 723 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 724 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 725 * attaches a policy to it that authorizes you to use 726 * <code>feedback@example.com</code>, then you would specify the 727 * <code>ReturnPathArn</code> to be 728 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 729 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 730 * of using this parameter, you can use the X-header 731 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 732 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 733 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 734 * <p>For information about when to use this parameter, see the description 735 * of <code>SendRawEmail</code> in this guide, or see the <a 736 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 737 * SES Developer Guide</a>.</p> 738 */ GetReturnPathArn()739 inline const Aws::String& GetReturnPathArn() const{ return m_returnPathArn; } 740 741 /** 742 * <p>This parameter is used only for sending authorization. It is the ARN of the 743 * identity that is associated with the sending authorization policy that permits 744 * you to use the email address specified in the <code>ReturnPath</code> 745 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 746 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 747 * attaches a policy to it that authorizes you to use 748 * <code>feedback@example.com</code>, then you would specify the 749 * <code>ReturnPathArn</code> to be 750 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 751 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 752 * of using this parameter, you can use the X-header 753 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 754 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 755 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 756 * <p>For information about when to use this parameter, see the description 757 * of <code>SendRawEmail</code> in this guide, or see the <a 758 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 759 * SES Developer Guide</a>.</p> 760 */ ReturnPathArnHasBeenSet()761 inline bool ReturnPathArnHasBeenSet() const { return m_returnPathArnHasBeenSet; } 762 763 /** 764 * <p>This parameter is used only for sending authorization. It is the ARN of the 765 * identity that is associated with the sending authorization policy that permits 766 * you to use the email address specified in the <code>ReturnPath</code> 767 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 768 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 769 * attaches a policy to it that authorizes you to use 770 * <code>feedback@example.com</code>, then you would specify the 771 * <code>ReturnPathArn</code> to be 772 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 773 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 774 * of using this parameter, you can use the X-header 775 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 776 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 777 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 778 * <p>For information about when to use this parameter, see the description 779 * of <code>SendRawEmail</code> in this guide, or see the <a 780 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 781 * SES Developer Guide</a>.</p> 782 */ SetReturnPathArn(const Aws::String & value)783 inline void SetReturnPathArn(const Aws::String& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = value; } 784 785 /** 786 * <p>This parameter is used only for sending authorization. It is the ARN of the 787 * identity that is associated with the sending authorization policy that permits 788 * you to use the email address specified in the <code>ReturnPath</code> 789 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 790 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 791 * attaches a policy to it that authorizes you to use 792 * <code>feedback@example.com</code>, then you would specify the 793 * <code>ReturnPathArn</code> to be 794 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 795 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 796 * of using this parameter, you can use the X-header 797 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 798 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 799 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 800 * <p>For information about when to use this parameter, see the description 801 * of <code>SendRawEmail</code> in this guide, or see the <a 802 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 803 * SES Developer Guide</a>.</p> 804 */ SetReturnPathArn(Aws::String && value)805 inline void SetReturnPathArn(Aws::String&& value) { m_returnPathArnHasBeenSet = true; m_returnPathArn = std::move(value); } 806 807 /** 808 * <p>This parameter is used only for sending authorization. It is the ARN of the 809 * identity that is associated with the sending authorization policy that permits 810 * you to use the email address specified in the <code>ReturnPath</code> 811 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 812 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 813 * attaches a policy to it that authorizes you to use 814 * <code>feedback@example.com</code>, then you would specify the 815 * <code>ReturnPathArn</code> to be 816 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 817 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 818 * of using this parameter, you can use the X-header 819 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 820 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 821 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 822 * <p>For information about when to use this parameter, see the description 823 * of <code>SendRawEmail</code> in this guide, or see the <a 824 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 825 * SES Developer Guide</a>.</p> 826 */ SetReturnPathArn(const char * value)827 inline void SetReturnPathArn(const char* value) { m_returnPathArnHasBeenSet = true; m_returnPathArn.assign(value); } 828 829 /** 830 * <p>This parameter is used only for sending authorization. It is the ARN of the 831 * identity that is associated with the sending authorization policy that permits 832 * you to use the email address specified in the <code>ReturnPath</code> 833 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 834 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 835 * attaches a policy to it that authorizes you to use 836 * <code>feedback@example.com</code>, then you would specify the 837 * <code>ReturnPathArn</code> to be 838 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 839 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 840 * of using this parameter, you can use the X-header 841 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 842 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 843 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 844 * <p>For information about when to use this parameter, see the description 845 * of <code>SendRawEmail</code> in this guide, or see the <a 846 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 847 * SES Developer Guide</a>.</p> 848 */ WithReturnPathArn(const Aws::String & value)849 inline SendRawEmailRequest& WithReturnPathArn(const Aws::String& value) { SetReturnPathArn(value); return *this;} 850 851 /** 852 * <p>This parameter is used only for sending authorization. It is the ARN of the 853 * identity that is associated with the sending authorization policy that permits 854 * you to use the email address specified in the <code>ReturnPath</code> 855 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 856 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 857 * attaches a policy to it that authorizes you to use 858 * <code>feedback@example.com</code>, then you would specify the 859 * <code>ReturnPathArn</code> to be 860 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 861 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 862 * of using this parameter, you can use the X-header 863 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 864 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 865 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 866 * <p>For information about when to use this parameter, see the description 867 * of <code>SendRawEmail</code> in this guide, or see the <a 868 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 869 * SES Developer Guide</a>.</p> 870 */ WithReturnPathArn(Aws::String && value)871 inline SendRawEmailRequest& WithReturnPathArn(Aws::String&& value) { SetReturnPathArn(std::move(value)); return *this;} 872 873 /** 874 * <p>This parameter is used only for sending authorization. It is the ARN of the 875 * identity that is associated with the sending authorization policy that permits 876 * you to use the email address specified in the <code>ReturnPath</code> 877 * parameter.</p> <p>For example, if the owner of <code>example.com</code> (which 878 * has ARN <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>) 879 * attaches a policy to it that authorizes you to use 880 * <code>feedback@example.com</code>, then you would specify the 881 * <code>ReturnPathArn</code> to be 882 * <code>arn:aws:ses:us-east-1:123456789012:identity/example.com</code>, and the 883 * <code>ReturnPath</code> to be <code>feedback@example.com</code>.</p> <p>Instead 884 * of using this parameter, you can use the X-header 885 * <code>X-SES-RETURN-PATH-ARN</code> in the raw message of the email. If you use 886 * both the <code>ReturnPathArn</code> parameter and the corresponding X-header, 887 * Amazon SES uses the value of the <code>ReturnPathArn</code> parameter.</p> 888 * <p>For information about when to use this parameter, see the description 889 * of <code>SendRawEmail</code> in this guide, or see the <a 890 * href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-delegate-sender-tasks-email.html">Amazon 891 * SES Developer Guide</a>.</p> 892 */ WithReturnPathArn(const char * value)893 inline SendRawEmailRequest& WithReturnPathArn(const char* value) { SetReturnPathArn(value); return *this;} 894 895 896 /** 897 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 898 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 899 * the email that you define, so that you can publish email sending events.</p> 900 */ GetTags()901 inline const Aws::Vector<MessageTag>& GetTags() const{ return m_tags; } 902 903 /** 904 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 905 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 906 * the email that you define, so that you can publish email sending events.</p> 907 */ TagsHasBeenSet()908 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 909 910 /** 911 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 912 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 913 * the email that you define, so that you can publish email sending events.</p> 914 */ SetTags(const Aws::Vector<MessageTag> & value)915 inline void SetTags(const Aws::Vector<MessageTag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 916 917 /** 918 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 919 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 920 * the email that you define, so that you can publish email sending events.</p> 921 */ SetTags(Aws::Vector<MessageTag> && value)922 inline void SetTags(Aws::Vector<MessageTag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 923 924 /** 925 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 926 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 927 * the email that you define, so that you can publish email sending events.</p> 928 */ WithTags(const Aws::Vector<MessageTag> & value)929 inline SendRawEmailRequest& WithTags(const Aws::Vector<MessageTag>& value) { SetTags(value); return *this;} 930 931 /** 932 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 933 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 934 * the email that you define, so that you can publish email sending events.</p> 935 */ WithTags(Aws::Vector<MessageTag> && value)936 inline SendRawEmailRequest& WithTags(Aws::Vector<MessageTag>&& value) { SetTags(std::move(value)); return *this;} 937 938 /** 939 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 940 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 941 * the email that you define, so that you can publish email sending events.</p> 942 */ AddTags(const MessageTag & value)943 inline SendRawEmailRequest& AddTags(const MessageTag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 944 945 /** 946 * <p>A list of tags, in the form of name/value pairs, to apply to an email that 947 * you send using <code>SendRawEmail</code>. Tags correspond to characteristics of 948 * the email that you define, so that you can publish email sending events.</p> 949 */ AddTags(MessageTag && value)950 inline SendRawEmailRequest& AddTags(MessageTag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 951 952 953 /** 954 * <p>The name of the configuration set to use when you send an email using 955 * <code>SendRawEmail</code>.</p> 956 */ GetConfigurationSetName()957 inline const Aws::String& GetConfigurationSetName() const{ return m_configurationSetName; } 958 959 /** 960 * <p>The name of the configuration set to use when you send an email using 961 * <code>SendRawEmail</code>.</p> 962 */ ConfigurationSetNameHasBeenSet()963 inline bool ConfigurationSetNameHasBeenSet() const { return m_configurationSetNameHasBeenSet; } 964 965 /** 966 * <p>The name of the configuration set to use when you send an email using 967 * <code>SendRawEmail</code>.</p> 968 */ SetConfigurationSetName(const Aws::String & value)969 inline void SetConfigurationSetName(const Aws::String& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = value; } 970 971 /** 972 * <p>The name of the configuration set to use when you send an email using 973 * <code>SendRawEmail</code>.</p> 974 */ SetConfigurationSetName(Aws::String && value)975 inline void SetConfigurationSetName(Aws::String&& value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName = std::move(value); } 976 977 /** 978 * <p>The name of the configuration set to use when you send an email using 979 * <code>SendRawEmail</code>.</p> 980 */ SetConfigurationSetName(const char * value)981 inline void SetConfigurationSetName(const char* value) { m_configurationSetNameHasBeenSet = true; m_configurationSetName.assign(value); } 982 983 /** 984 * <p>The name of the configuration set to use when you send an email using 985 * <code>SendRawEmail</code>.</p> 986 */ WithConfigurationSetName(const Aws::String & value)987 inline SendRawEmailRequest& WithConfigurationSetName(const Aws::String& value) { SetConfigurationSetName(value); return *this;} 988 989 /** 990 * <p>The name of the configuration set to use when you send an email using 991 * <code>SendRawEmail</code>.</p> 992 */ WithConfigurationSetName(Aws::String && value)993 inline SendRawEmailRequest& WithConfigurationSetName(Aws::String&& value) { SetConfigurationSetName(std::move(value)); return *this;} 994 995 /** 996 * <p>The name of the configuration set to use when you send an email using 997 * <code>SendRawEmail</code>.</p> 998 */ WithConfigurationSetName(const char * value)999 inline SendRawEmailRequest& WithConfigurationSetName(const char* value) { SetConfigurationSetName(value); return *this;} 1000 1001 private: 1002 1003 Aws::String m_source; 1004 bool m_sourceHasBeenSet; 1005 1006 Aws::Vector<Aws::String> m_destinations; 1007 bool m_destinationsHasBeenSet; 1008 1009 RawMessage m_rawMessage; 1010 bool m_rawMessageHasBeenSet; 1011 1012 Aws::String m_fromArn; 1013 bool m_fromArnHasBeenSet; 1014 1015 Aws::String m_sourceArn; 1016 bool m_sourceArnHasBeenSet; 1017 1018 Aws::String m_returnPathArn; 1019 bool m_returnPathArnHasBeenSet; 1020 1021 Aws::Vector<MessageTag> m_tags; 1022 bool m_tagsHasBeenSet; 1023 1024 Aws::String m_configurationSetName; 1025 bool m_configurationSetNameHasBeenSet; 1026 }; 1027 1028 } // namespace Model 1029 } // namespace SES 1030 } // namespace Aws 1031