pub struct MailSend {
pub client: Client,
}
Fields§
§client: Client
Implementations§
Source§impl MailSend
impl MailSend
Sourcepub async fn post(
&self,
body: &PostMailSendRequest,
) -> Result<Response<()>, ClientError>
pub async fn post( &self, body: &PostMailSendRequest, ) -> Result<Response<()>, ClientError>
v3 Mail Send.
This function performs a POST
to the /mail/send
endpoint.
The Mail Send endpoint allows you to send email over SendGrid’s v3 Web API, the most recent version of our API. If you are looking for documentation about the v2 Mail Send endpoint, see our v2 API Reference.
§Helper Libraries
Twilio SendGrid provides libraries to help you quickly and easily integrate with the v3 Web API in 7 different languages:
§Dynamic Transactional Templates and Handlebars
In order to send a dynamic template, specify the template ID with the template_id
parameter.
To specify handlebar substitutions, define your substitutions in the request JSON with this syntax:
"dynamic_template_data": {
"guest": "Jane Doe",
"partysize": "4",
"english": true,
"date": "April 1st, 2021"
}
For more information about Dynamic Transactional Templates and Handlebars, see our documentation and reference pages.
§Mail body compression
Mail body compression is available to some high volume accounts. Talk to your CSM if you are interested in this functionality. Mail body compression works by setting up a JSON payload as defined on this page, then compressing it with gzip (the gzip file can be no more than 30mb).
To use mail body compression:
- Add a
Content-Encoding
header, with a value ofgzip
.
a.Content-Encoding: gzip
- Send the gzip as a data-binary.
a.--data-binary '@data.json.gz'
Trait Implementations§
Source§impl MailOps for MailSend
impl MailOps for MailSend
Source§fn send_plain_text<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>(
&'life0 self,
subject: &'life1 str,
message: &'life2 str,
tos: &'life3 [String],
ccs: &'life4 [String],
bccs: &'life5 [String],
from: &'life6 str,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, ClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
'life6: 'async_trait,
fn send_plain_text<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'life6, 'async_trait>(
&'life0 self,
subject: &'life1 str,
message: &'life2 str,
tos: &'life3 [String],
ccs: &'life4 [String],
bccs: &'life5 [String],
from: &'life6 str,
) -> Pin<Box<dyn Future<Output = Result<Response<()>, ClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
'life6: 'async_trait,
Send a plain text email.
This is a nicer experience than using post
.