Documentation
¶
Overview ¶
Package tem provides methods and message types of the tem v1alpha1 API.
Index ¶
- Constants
- type API
- func (s *API) CancelEmail(req *CancelEmailRequest, opts ...scw.RequestOption) (*Email, error)
- func (s *API) CheckDomain(req *CheckDomainRequest, opts ...scw.RequestOption) (*Domain, error)
- func (s *API) CreateDomain(req *CreateDomainRequest, opts ...scw.RequestOption) (*Domain, error)
- func (s *API) CreateEmail(req *CreateEmailRequest, opts ...scw.RequestOption) (*CreateEmailResponse, error)
- func (s *API) GetDomain(req *GetDomainRequest, opts ...scw.RequestOption) (*Domain, error)
- func (s *API) GetDomainLastStatus(req *GetDomainLastStatusRequest, opts ...scw.RequestOption) (*DomainLastStatus, error)
- func (s *API) GetEmail(req *GetEmailRequest, opts ...scw.RequestOption) (*Email, error)
- func (s *API) GetStatistics(req *GetStatisticsRequest, opts ...scw.RequestOption) (*Statistics, error)
- func (s *API) ListDomains(req *ListDomainsRequest, opts ...scw.RequestOption) (*ListDomainsResponse, error)
- func (s *API) ListEmails(req *ListEmailsRequest, opts ...scw.RequestOption) (*ListEmailsResponse, error)
- func (s *API) Regions() []scw.Region
- func (s *API) RevokeDomain(req *RevokeDomainRequest, opts ...scw.RequestOption) (*Domain, error)
- func (s *API) WaitForDomain(req *WaitForDomainRequest, opts ...scw.RequestOption) (*Domain, error)
- type CancelEmailRequest
- type CheckDomainRequest
- type CreateDomainRequest
- type CreateEmailRequest
- type CreateEmailRequestAddress
- type CreateEmailRequestAttachment
- type CreateEmailResponse
- type Domain
- type DomainLastStatus
- type DomainLastStatusDkimRecord
- type DomainLastStatusRecordStatus
- type DomainLastStatusSpfRecord
- type DomainStatistics
- type DomainStatus
- type Email
- type EmailFlag
- type EmailRcptType
- type EmailStatus
- type EmailTry
- type GetDomainLastStatusRequest
- type GetDomainRequest
- type GetEmailRequest
- type GetStatisticsRequest
- type ListDomainsRequest
- type ListDomainsResponse
- type ListEmailsRequest
- type ListEmailsRequestOrderBy
- type ListEmailsResponse
- type RevokeDomainRequest
- type Statistics
- type WaitForDomainRequest
Constants ¶
const ( // If unspecified, the status of the domain's record is unknown by default DomainLastStatusRecordStatusUnknownRecordStatus = DomainLastStatusRecordStatus("unknown_record_status") // The record is valid DomainLastStatusRecordStatusValid = DomainLastStatusRecordStatus("valid") // The record is invalid DomainLastStatusRecordStatusInvalid = DomainLastStatusRecordStatus("invalid") // The record was not found DomainLastStatusRecordStatusNotFound = DomainLastStatusRecordStatus("not_found") )
const ( // If unspecified, the status of the domain is unknown by default DomainStatusUnknown = DomainStatus("unknown") // The domain is checked DomainStatusChecked = DomainStatus("checked") // The domain is unchecked DomainStatusUnchecked = DomainStatus("unchecked") // The domain is invalid DomainStatusInvalid = DomainStatus("invalid") // The domain is locked DomainStatusLocked = DomainStatus("locked") // The domain is revoked DomainStatusRevoked = DomainStatus("revoked") // The domain is pending for check DomainStatusPending = DomainStatus("pending") )
const ( // If unspecified, the flag type is unknown by default EmailFlagUnknownFlag = EmailFlag("unknown_flag") // Refers to a non critical error received while sending the email(s). Soft bounced emails are retried EmailFlagSoftBounce = EmailFlag("soft_bounce") // Refers to a critical error that happened while sending the email(s) EmailFlagHardBounce = EmailFlag("hard_bounce") )
const ( // If unspecified, the recipient type is unknown by default EmailRcptTypeUnknownRcptType = EmailRcptType("unknown_rcpt_type") // Primary recipient EmailRcptTypeTo = EmailRcptType("to") // Carbon copy recipient EmailRcptTypeCc = EmailRcptType("cc") // Blind carbon copy recipient EmailRcptTypeBcc = EmailRcptType("bcc") )
const ( // If unspecified, the status of the email is unknown by default EmailStatusUnknown = EmailStatus("unknown") // The email is new EmailStatusNew = EmailStatus("new") // The email is in the process of being sent EmailStatusSending = EmailStatus("sending") // The email was sent EmailStatusSent = EmailStatus("sent") // The sending of the email failed EmailStatusFailed = EmailStatus("failed") // The sending of the email was canceled EmailStatusCanceled = EmailStatus("canceled") )
const ( // Order by creation date (descending chronological order) ListEmailsRequestOrderByCreatedAtDesc = ListEmailsRequestOrderBy("created_at_desc") // Order by creation date (ascending chronological order) ListEmailsRequestOrderByCreatedAtAsc = ListEmailsRequestOrderBy("created_at_asc") // Order by last update date (descending chronological order) ListEmailsRequestOrderByUpdatedAtDesc = ListEmailsRequestOrderBy("updated_at_desc") // Order by last update date (ascending chronological order) ListEmailsRequestOrderByUpdatedAtAsc = ListEmailsRequestOrderBy("updated_at_asc") // Order by status (descending alphabetical order) ListEmailsRequestOrderByStatusDesc = ListEmailsRequestOrderBy("status_desc") // Order by status (ascending alphabetical order) ListEmailsRequestOrderByStatusAsc = ListEmailsRequestOrderBy("status_asc") // Order by mail_from (descending alphabetical order) ListEmailsRequestOrderByMailFromDesc = ListEmailsRequestOrderBy("mail_from_desc") // Order by mail_from (ascending alphabetical order) ListEmailsRequestOrderByMailFromAsc = ListEmailsRequestOrderBy("mail_from_asc") // Order by mail recipient (descending alphabetical order) ListEmailsRequestOrderByMailRcptDesc = ListEmailsRequestOrderBy("mail_rcpt_desc") // Order by mail recipient (ascending alphabetical order) ListEmailsRequestOrderByMailRcptAsc = ListEmailsRequestOrderBy("mail_rcpt_asc") // Order by subject (descending alphabetical order) ListEmailsRequestOrderBySubjectDesc = ListEmailsRequestOrderBy("subject_desc") // Order by subject (ascending alphabetical order) ListEmailsRequestOrderBySubjectAsc = ListEmailsRequestOrderBy("subject_asc") )
const ( SMTPHost = "smtp.tem.scw.cloud" SMTPPortUnsecure = 25 SMTPPort = 587 SMTPPortAlternative = 2587 SMTPSPort = 465 SMTPSPortAlternative = 2465 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API: transactional Email API.
func (*API) CancelEmail ¶
func (s *API) CancelEmail(req *CancelEmailRequest, opts ...scw.RequestOption) (*Email, error)
CancelEmail: cancel an email. You can cancel the sending of an email if it has not been sent yet. You must specify the `region` and the `email_id` of the email you want to cancel.
func (*API) CheckDomain ¶
func (s *API) CheckDomain(req *CheckDomainRequest, opts ...scw.RequestOption) (*Domain, error)
CheckDomain: domain DNS check. Perform an immediate DNS check of a domain using the `region` and `domain_id` parameters.
func (*API) CreateDomain ¶
func (s *API) CreateDomain(req *CreateDomainRequest, opts ...scw.RequestOption) (*Domain, error)
CreateDomain: register a domain in a project. You must specify the `region`, `project_id` and `domain_name` to register a domain in a specific Project.
func (*API) CreateEmail ¶
func (s *API) CreateEmail(req *CreateEmailRequest, opts ...scw.RequestOption) (*CreateEmailResponse, error)
CreateEmail: send an email. You must specify the `region`, the sender and the recipient's information and the `project_id` to send an email from a checked domain. The subject of the email must contain at least 6 characters.
func (*API) GetDomain ¶
func (s *API) GetDomain(req *GetDomainRequest, opts ...scw.RequestOption) (*Domain, error)
GetDomain: get information about a domain. Retrieve information about a specific domain using the `region` and `domain_id` parameters.
func (*API) GetDomainLastStatus ¶
func (s *API) GetDomainLastStatus(req *GetDomainLastStatusRequest, opts ...scw.RequestOption) (*DomainLastStatus, error)
GetDomainLastStatus: display SPF and DKIM records status and potential errors. Display SPF and DKIM records status and potential errors, including the found records to make debugging easier.
func (*API) GetEmail ¶
func (s *API) GetEmail(req *GetEmailRequest, opts ...scw.RequestOption) (*Email, error)
GetEmail: get an email. Retrieve information about a specific email using the `email_id` and `region` parameters.
func (*API) GetStatistics ¶
func (s *API) GetStatistics(req *GetStatisticsRequest, opts ...scw.RequestOption) (*Statistics, error)
GetStatistics: email statuses. Get information on your emails' statuses.
func (*API) ListDomains ¶
func (s *API) ListDomains(req *ListDomainsRequest, opts ...scw.RequestOption) (*ListDomainsResponse, error)
ListDomains: list domains. Retrieve domains in a specific project or in a specific Organization using the `region` parameter.
func (*API) ListEmails ¶
func (s *API) ListEmails(req *ListEmailsRequest, opts ...scw.RequestOption) (*ListEmailsResponse, error)
ListEmails: list emails. Retrieve the list of emails sent from a specific domain or for a specific Project or Organization. You must specify the `region`.
func (*API) RevokeDomain ¶
func (s *API) RevokeDomain(req *RevokeDomainRequest, opts ...scw.RequestOption) (*Domain, error)
RevokeDomain: delete a domain. You must specify the domain you want to delete by the `region` and `domain_id`. Deleting a domain is permanent and cannot be undone.
func (*API) WaitForDomain ¶
func (s *API) WaitForDomain(req *WaitForDomainRequest, opts ...scw.RequestOption) (*Domain, error)
WaitForDomain wait for the domain to be in a "terminal state" before returning. This function can be used to wait for a domain to be checked for example.
type CancelEmailRequest ¶
type CheckDomainRequest ¶
type CreateDomainRequest ¶
type CreateDomainRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // ProjectID: ID of the project to which the domain belongs. ProjectID string `json:"project_id"` // DomainName: fully qualified domain dame. DomainName string `json:"domain_name"` // AcceptTos: accept Scaleway's Terms of Service. AcceptTos bool `json:"accept_tos"` }
type CreateEmailRequest ¶
type CreateEmailRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // From: sender information. Must be from a checked domain declared in the Project. From *CreateEmailRequestAddress `json:"from"` // To: an array of the primary recipient's information. To []*CreateEmailRequestAddress `json:"to"` // Cc: an array of the carbon copy recipient's information. Cc []*CreateEmailRequestAddress `json:"cc"` // Bcc: an array of the blind carbon copy recipient's information. Bcc []*CreateEmailRequestAddress `json:"bcc"` // Subject: subject of the email. Subject string `json:"subject"` // Text: text content. Text string `json:"text"` // HTML: HTML content. HTML string `json:"html"` // ProjectID: ID of the Project in which to create the email. ProjectID string `json:"project_id"` // Attachments: array of attachments. Attachments []*CreateEmailRequestAttachment `json:"attachments"` // SendBefore: maximum date to deliver the email. SendBefore *time.Time `json:"send_before"` }
type CreateEmailRequestAddress ¶
type CreateEmailRequestAddress struct { // Email: email address. Email string `json:"email"` // Name: (Optional) Name displayed. Name *string `json:"name"` }
CreateEmailRequestAddress: create email request. address.
type CreateEmailRequestAttachment ¶
type CreateEmailRequestAttachment struct { // Name: filename of the attachment. Name string `json:"name"` // Type: mIME type of the attachment. Type string `json:"type"` // Content: content of the attachment encoded in base64. Content []byte `json:"content"` }
CreateEmailRequestAttachment: create email request. attachment.
type CreateEmailResponse ¶
type CreateEmailResponse struct { // Emails: single page of emails matching the requested criteria. Emails []*Email `json:"emails"` }
CreateEmailResponse: create email response.
type Domain ¶
type Domain struct { // ID: ID of the domain. ID string `json:"id"` // OrganizationID: ID of the domain's Organization. OrganizationID string `json:"organization_id"` // ProjectID: ID of the domain's Project. ProjectID string `json:"project_id"` // Name: domain name (example.com). Name string `json:"name"` // Status: status of the domain. // Default value: unknown Status DomainStatus `json:"status"` // CreatedAt: date and time of domain creation. CreatedAt *time.Time `json:"created_at"` // NextCheckAt: date and time of the next scheduled check. NextCheckAt *time.Time `json:"next_check_at"` // LastValidAt: date and time the domain was last valid. LastValidAt *time.Time `json:"last_valid_at"` // RevokedAt: date and time of the domain's deletion. RevokedAt *time.Time `json:"revoked_at"` // Deprecated: LastError: error message returned if the last check failed. LastError *string `json:"last_error,omitempty"` // SpfConfig: snippet of the SPF record to register in the DNS zone. SpfConfig string `json:"spf_config"` // DkimConfig: dKIM public key to record in the DNS zone. DkimConfig string `json:"dkim_config"` // Statistics: domain's statistics. Statistics *DomainStatistics `json:"statistics"` Region scw.Region `json:"region"` }
Domain: domain.
type DomainLastStatus ¶
type DomainLastStatus struct { // DomainID: the id of the domain. DomainID string `json:"domain_id"` // DomainName: the domain name (example.com). DomainName string `json:"domain_name"` // SpfRecord: the SPF record verification data. SpfRecord *DomainLastStatusSpfRecord `json:"spf_record"` // DkimRecord: the DKIM record verification data. DkimRecord *DomainLastStatusDkimRecord `json:"dkim_record"` }
DomainLastStatus: domain last status.
type DomainLastStatusDkimRecord ¶
type DomainLastStatusDkimRecord struct { // Status: status of the DKIM record's configurartion. // Default value: unknown_record_status Status DomainLastStatusRecordStatus `json:"status"` // LastValidAt: time and date the DKIM record was last valid. LastValidAt *time.Time `json:"last_valid_at"` // Error: an error text displays in case the record is not valid. Error *string `json:"error"` }
DomainLastStatusDkimRecord: domain last status. dkim record.
type DomainLastStatusRecordStatus ¶
type DomainLastStatusRecordStatus string
func (DomainLastStatusRecordStatus) MarshalJSON ¶
func (enum DomainLastStatusRecordStatus) MarshalJSON() ([]byte, error)
func (DomainLastStatusRecordStatus) String ¶
func (enum DomainLastStatusRecordStatus) String() string
func (*DomainLastStatusRecordStatus) UnmarshalJSON ¶
func (enum *DomainLastStatusRecordStatus) UnmarshalJSON(data []byte) error
type DomainLastStatusSpfRecord ¶
type DomainLastStatusSpfRecord struct { // Status: status of the SPF record's configurartion. // Default value: unknown_record_status Status DomainLastStatusRecordStatus `json:"status"` // LastValidAt: time and date the SPF record was last valid. LastValidAt *time.Time `json:"last_valid_at"` // Error: an error text displays in case the record is not valid. Error *string `json:"error"` }
DomainLastStatusSpfRecord: domain last status. spf record.
type DomainStatistics ¶
type DomainStatus ¶
type DomainStatus string
func (DomainStatus) MarshalJSON ¶
func (enum DomainStatus) MarshalJSON() ([]byte, error)
func (DomainStatus) String ¶
func (enum DomainStatus) String() string
func (*DomainStatus) UnmarshalJSON ¶
func (enum *DomainStatus) UnmarshalJSON(data []byte) error
type Email ¶
type Email struct { // ID: technical ID of the email. ID string `json:"id"` // MessageID: message ID of the email. MessageID string `json:"message_id"` // ProjectID: ID of the Project to which the email belongs. ProjectID string `json:"project_id"` // MailFrom: email address of the sender. MailFrom string `json:"mail_from"` // Deprecated: RcptTo: email address of the recipient. RcptTo *string `json:"rcpt_to,omitempty"` // MailRcpt: email address of the recipient. MailRcpt string `json:"mail_rcpt"` // RcptType: type of recipient. // Default value: unknown_rcpt_type RcptType EmailRcptType `json:"rcpt_type"` // Subject: subject of the email. Subject string `json:"subject"` // CreatedAt: creation date of the email object. CreatedAt *time.Time `json:"created_at"` // UpdatedAt: last update of the email object. UpdatedAt *time.Time `json:"updated_at"` // Status: status of the email. // Default value: unknown Status EmailStatus `json:"status"` // StatusDetails: additional status information. StatusDetails *string `json:"status_details"` // TryCount: number of attempts to send the email. TryCount uint32 `json:"try_count"` // LastTries: information about the last three attempts to send the email. LastTries []*EmailTry `json:"last_tries"` // Flags: flags categorize emails. They allow you to obtain more information about recurring errors, for example. Flags []EmailFlag `json:"flags"` }
Email: email.
type EmailFlag ¶
type EmailFlag string
func (EmailFlag) MarshalJSON ¶
func (*EmailFlag) UnmarshalJSON ¶
type EmailRcptType ¶
type EmailRcptType string
func (EmailRcptType) MarshalJSON ¶
func (enum EmailRcptType) MarshalJSON() ([]byte, error)
func (EmailRcptType) String ¶
func (enum EmailRcptType) String() string
func (*EmailRcptType) UnmarshalJSON ¶
func (enum *EmailRcptType) UnmarshalJSON(data []byte) error
type EmailStatus ¶
type EmailStatus string
func (EmailStatus) MarshalJSON ¶
func (enum EmailStatus) MarshalJSON() ([]byte, error)
func (EmailStatus) String ¶
func (enum EmailStatus) String() string
func (*EmailStatus) UnmarshalJSON ¶
func (enum *EmailStatus) UnmarshalJSON(data []byte) error
type EmailTry ¶
type EmailTry struct { // Rank: rank number of this attempt to send the email. Rank uint32 `json:"rank"` // TriedAt: date of the attempt to send the email. TriedAt *time.Time `json:"tried_at"` // Code: the SMTP status code received after the attempt. 0 if the attempt did not reach an SMTP server. Code int32 `json:"code"` // Message: the SMTP message received. If the attempt did not reach an SMTP server, the message returned explains what happened. Message string `json:"message"` }
EmailTry: email. try.
type GetDomainRequest ¶
type GetEmailRequest ¶
type GetStatisticsRequest ¶
type GetStatisticsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // ProjectID: (Optional) Number of emails for this Project. ProjectID *string `json:"-"` // DomainID: (Optional) Number of emails sent from this domain (must be coherent with the `project_id` and the `organization_id`). DomainID *string `json:"-"` // Since: (Optional) Number of emails created after this date. Since *time.Time `json:"-"` // Until: (Optional) Number of emails created before this date. Until *time.Time `json:"-"` // MailFrom: (Optional) Number of emails sent with this sender's email address. MailFrom *string `json:"-"` }
type ListDomainsRequest ¶
type ListDomainsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` // Page: requested page number. Value must be greater or equal to 1. Page *int32 `json:"-"` // PageSize: page size. PageSize *uint32 `json:"-"` ProjectID *string `json:"-"` Status []DomainStatus `json:"-"` OrganizationID *string `json:"-"` Name *string `json:"-"` }
type ListDomainsResponse ¶
type ListDomainsResponse struct { // TotalCount: number of domains that match the request (without pagination). TotalCount uint32 `json:"total_count"` Domains []*Domain `json:"domains"` }
ListDomainsResponse: list domains response.
func (*ListDomainsResponse) UnsafeAppend ¶
func (r *ListDomainsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListDomainsResponse) UnsafeGetTotalCount ¶
func (r *ListDomainsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type ListEmailsRequest ¶
type ListEmailsRequest struct { // Region: region to target. If none is passed will use default region from the config. Region scw.Region `json:"-"` Page *int32 `json:"-"` PageSize *uint32 `json:"-"` // ProjectID: (Optional) ID of the Project in which to list the emails. ProjectID *string `json:"-"` // DomainID: (Optional) ID of the domain for which to list the emails. DomainID *string `json:"-"` // MessageID: (Optional) ID of the message for which to list the emails. MessageID *string `json:"-"` // Since: (Optional) List emails created after this date. Since *time.Time `json:"-"` // Until: (Optional) List emails created before this date. Until *time.Time `json:"-"` // MailFrom: (Optional) List emails sent with this sender's email address. MailFrom *string `json:"-"` // Deprecated: MailTo: list emails sent to this recipient's email address. MailTo *string `json:"-"` // MailRcpt: (Optional) List emails sent to this recipient's email address. MailRcpt *string `json:"-"` // Statuses: (Optional) List emails with any of these statuses. Statuses []EmailStatus `json:"-"` // Subject: (Optional) List emails with this subject. Subject *string `json:"-"` // Search: (Optional) List emails by searching to all fields. Search *string `json:"-"` // OrderBy: (Optional) List emails corresponding to specific criteria. // Default value: created_at_desc OrderBy ListEmailsRequestOrderBy `json:"-"` // Flags: (Optional) List emails containing only specific flags. Flags []EmailFlag `json:"-"` }
type ListEmailsRequestOrderBy ¶
type ListEmailsRequestOrderBy string
func (ListEmailsRequestOrderBy) MarshalJSON ¶
func (enum ListEmailsRequestOrderBy) MarshalJSON() ([]byte, error)
func (ListEmailsRequestOrderBy) String ¶
func (enum ListEmailsRequestOrderBy) String() string
func (*ListEmailsRequestOrderBy) UnmarshalJSON ¶
func (enum *ListEmailsRequestOrderBy) UnmarshalJSON(data []byte) error
type ListEmailsResponse ¶
type ListEmailsResponse struct { // TotalCount: number of emails matching the requested criteria. TotalCount uint32 `json:"total_count"` // Emails: single page of emails matching the requested criteria. Emails []*Email `json:"emails"` }
ListEmailsResponse: list emails response.
func (*ListEmailsResponse) UnsafeAppend ¶
func (r *ListEmailsResponse) UnsafeAppend(res interface{}) (uint32, error)
UnsafeAppend should not be used Internal usage only
func (*ListEmailsResponse) UnsafeGetTotalCount ¶
func (r *ListEmailsResponse) UnsafeGetTotalCount() uint32
UnsafeGetTotalCount should not be used Internal usage only
type RevokeDomainRequest ¶
type Statistics ¶
type Statistics struct { // TotalCount: total number of emails matching the requested criteria. TotalCount uint32 `json:"total_count"` // NewCount: number of emails still in the `new` transient state. This means emails received from the API but not yet processed. NewCount uint32 `json:"new_count"` // SendingCount: number of emails still in the `sending` transient state. This means emails received from the API but not yet in their final status. SendingCount uint32 `json:"sending_count"` // SentCount: number of emails in the final `sent` state. This means emails that have been delivered to the target mail system. SentCount uint32 `json:"sent_count"` // FailedCount: number of emails in the final `failed` state. This means emails that have been refused by the target mail system with a final error status. FailedCount uint32 `json:"failed_count"` // CanceledCount: number of emails in the final `canceled` state. This means emails that have been canceled upon request. CanceledCount uint32 `json:"canceled_count"` }
Statistics: statistics.