#[non_exhaustive]pub struct SendRawEmailInput {
pub source: Option<String>,
pub destinations: Option<Vec<String>>,
pub raw_message: Option<RawMessage>,
pub from_arn: Option<String>,
pub source_arn: Option<String>,
pub return_path_arn: Option<String>,
pub tags: Option<Vec<MessageTag>>,
pub configuration_set_name: Option<String>,
}
Expand description
Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.source: Option<String>
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.)
Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. 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 Sending raw email using the Amazon SES API. For more information about Punycode, see RFC 3492.
If you specify the Source
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.
destinations: Option<Vec<String>>
A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.
raw_message: Option<RawMessage>
The raw email message itself. The message has to meet the following criteria:
-
The message has to contain a header and a body, separated by a blank line.
-
All of the required header fields must be present in the message.
-
Each part of a multipart MIME message must be formatted properly.
-
Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.
-
The entire message must be base64-encoded.
-
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 Sending Raw Email in the Amazon SES Developer Guide.
-
Per RFC 5321, the maximum length of each line of text, including the
, must not exceed 1,000 characters.
from_arn: Option<String>
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.
Instead of using this parameter, you can use the X-header X-SES-FROM-ARN
in the raw message of the email. If you use both the FromArn
parameter and the corresponding X-header, Amazon SES uses the value of the FromArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
source_arn: Option<String>
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 Source
parameter.
For example, if the owner of example.com
(which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com
) attaches a policy to it that authorizes you to send from user@example.com
, then you would specify the SourceArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com
, and the Source
to be user@example.com
.
Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN
in the raw message of the email. If you use both the SourceArn
parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
return_path_arn: Option<String>
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 ReturnPath
parameter.
For example, if the owner of example.com
(which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com
) attaches a policy to it that authorizes you to use feedback@example.com
, then you would specify the ReturnPathArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com
, and the ReturnPath
to be feedback@example.com
.
Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN
in the raw message of the email. If you use both the ReturnPathArn
parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
A list of tags, in the form of name/value pairs, to apply to an email that you send using SendRawEmail
. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.
configuration_set_name: Option<String>
The name of the configuration set to use when you send an email using SendRawEmail
.
Implementations§
Source§impl SendRawEmailInput
impl SendRawEmailInput
Sourcepub fn source(&self) -> Option<&str>
pub fn source(&self) -> Option<&str>
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.)
Amazon SES does not support the SMTPUTF8 extension, as described inRFC6531. 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 Sending raw email using the Amazon SES API. For more information about Punycode, see RFC 3492.
If you specify the Source
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.
Sourcepub fn destinations(&self) -> &[String]
pub fn destinations(&self) -> &[String]
A list of destinations for the message, consisting of To:, CC:, and BCC: addresses.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .destinations.is_none()
.
Sourcepub fn raw_message(&self) -> Option<&RawMessage>
pub fn raw_message(&self) -> Option<&RawMessage>
The raw email message itself. The message has to meet the following criteria:
-
The message has to contain a header and a body, separated by a blank line.
-
All of the required header fields must be present in the message.
-
Each part of a multipart MIME message must be formatted properly.
-
Attachments must be of a content type that Amazon SES supports. For a list on unsupported content types, see Unsupported Attachment Types in the Amazon SES Developer Guide.
-
The entire message must be base64-encoded.
-
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 Sending Raw Email in the Amazon SES Developer Guide.
-
Per RFC 5321, the maximum length of each line of text, including the
, must not exceed 1,000 characters.
Sourcepub fn from_arn(&self) -> Option<&str>
pub fn from_arn(&self) -> Option<&str>
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.
Instead of using this parameter, you can use the X-header X-SES-FROM-ARN
in the raw message of the email. If you use both the FromArn
parameter and the corresponding X-header, Amazon SES uses the value of the FromArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
Sourcepub fn source_arn(&self) -> Option<&str>
pub fn source_arn(&self) -> Option<&str>
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 Source
parameter.
For example, if the owner of example.com
(which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com
) attaches a policy to it that authorizes you to send from user@example.com
, then you would specify the SourceArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com
, and the Source
to be user@example.com
.
Instead of using this parameter, you can use the X-header X-SES-SOURCE-ARN
in the raw message of the email. If you use both the SourceArn
parameter and the corresponding X-header, Amazon SES uses the value of the SourceArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
Sourcepub fn return_path_arn(&self) -> Option<&str>
pub fn return_path_arn(&self) -> Option<&str>
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 ReturnPath
parameter.
For example, if the owner of example.com
(which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com
) attaches a policy to it that authorizes you to use feedback@example.com
, then you would specify the ReturnPathArn
to be arn:aws:ses:us-east-1:123456789012:identity/example.com
, and the ReturnPath
to be feedback@example.com
.
Instead of using this parameter, you can use the X-header X-SES-RETURN-PATH-ARN
in the raw message of the email. If you use both the ReturnPathArn
parameter and the corresponding X-header, Amazon SES uses the value of the ReturnPathArn
parameter.
For information about when to use this parameter, see the description of SendRawEmail
in this guide, or see the Amazon SES Developer Guide.
A list of tags, in the form of name/value pairs, to apply to an email that you send using SendRawEmail
. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .tags.is_none()
.
Sourcepub fn configuration_set_name(&self) -> Option<&str>
pub fn configuration_set_name(&self) -> Option<&str>
The name of the configuration set to use when you send an email using SendRawEmail
.
Source§impl SendRawEmailInput
impl SendRawEmailInput
Sourcepub fn builder() -> SendRawEmailInputBuilder
pub fn builder() -> SendRawEmailInputBuilder
Creates a new builder-style object to manufacture SendRawEmailInput
.
Trait Implementations§
Source§impl Clone for SendRawEmailInput
impl Clone for SendRawEmailInput
Source§fn clone(&self) -> SendRawEmailInput
fn clone(&self) -> SendRawEmailInput
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SendRawEmailInput
impl Debug for SendRawEmailInput
Source§impl PartialEq for SendRawEmailInput
impl PartialEq for SendRawEmailInput
impl StructuralPartialEq for SendRawEmailInput
Auto Trait Implementations§
impl Freeze for SendRawEmailInput
impl RefUnwindSafe for SendRawEmailInput
impl Send for SendRawEmailInput
impl Sync for SendRawEmailInput
impl Unpin for SendRawEmailInput
impl UnwindSafe for SendRawEmailInput
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);