Class: Mailtrap::SuppressionsAPI

Inherits:
Object
  • Object
show all
Includes:
BaseAPI
Defined in:
lib/mailtrap/suppressions_api.rb

Instance Attribute Summary

Attributes included from BaseAPI

#account_id, #client

Instance Method Summary collapse

Methods included from BaseAPI

included, #initialize

Instance Method Details

#create(options) ⇒ Suppression

Adds an email address to the account's suppression list

Parameters:

  • options (Hash)

    The suppression attributes

Options Hash (options):

  • :email (String)

    Email address to suppress

  • :domain_id (Integer)

    ID of the domain to suppress this email for

  • :sending_stream (String)

    The sending stream to suppress for: "transactional" or "bulk"

  • :type (String)

    Reason for the suppression, defaults to "manual import" when omitted

Returns:

Raises:



34
35
36
37
38
# File 'lib/mailtrap/suppressions_api.rb', line 34

def create(options)
  validate_options!(options, supported_options)
  response = client.post(base_path, options)
  build_entity(response[:data], Suppression)
end

#delete(suppression_id) ⇒ Suppression

Deletes a suppression

Parameters:

  • suppression_id (String)

    The suppression UUID

Returns:

Raises:



44
45
46
47
# File 'lib/mailtrap/suppressions_api.rb', line 44

def delete(suppression_id)
  response = client.delete("#{base_path}/#{suppression_id}")
  build_entity(response, Suppression)
end

#list(email: nil) ⇒ Array<Suppression>

Lists all suppressions for the account

Parameters:

  • email (String) (defaults to: nil)

    Email address to filter suppressions (optional)

Returns:

  • (Array<Suppression>)

    Array of suppression objects

Raises:



18
19
20
21
22
23
# File 'lib/mailtrap/suppressions_api.rb', line 18

def list(email: nil)
  query_params = {}
  query_params[:email] = email if email

  base_list(query_params)
end