Sending profiles tell Gophish which SMTP servers to use when sending emails.
The SMTP endpoint allows you to create, view, and manage Gophish sending profiles.
This example shows how to retrieve the name of every sending profile in Gophish.
from gophish import Gophish
api_key = 'API_KEY'
api = Gophish(api_key)
for smtp in api.smtp.get():
print smtp.name
A sending profile contains the server address/port, and optional credentials.
Attributes
id
(int) The smtp IDname
(str) The smtp nameinterface_type
(str) The type of SMTP connection (for now, always useSMTP
)host
(str) The host:port of the SMTP serverfrom_address
(str) The address to send emails from (e.g. John Doe <[email protected]>)ignore_cert_errors
(bool) Whether or not to ignore SSL certificate validation errors (set totrue
in the case of self-signed certificates)modified_date
(optional: datetime.datetime) The datetime this SMTP profile was previously modified
Methods
__init__(self, **kwargs)
- Returns a new SMTP object
Gets the details for one or more sending profiles. To get a particular sending profiles, set the ID to the profile ID.
If the smtp_id
is not set, all sending profiles owned by the current user will be returned.
Returns
- If the
smtp_id
is set:models.SMTP
- If
smtp_id
isNone
:list(models.SMTP)
Creates a new sending profile. This endpoint requires you to submit a gophish.models.SMTP
object.
Returns
The gophish.models.SMTP
object that was created.
Edits an existing sending profile. This endpoint requires you to submit an existing gophish.models.SMTP
object with its id
attribute set correctly.
Returns
The gophish.models.SMTP
object that was edited.
Deletes the sending profile specified by smtp_id
.
Returns
A gophish.models.Status
message.
Here are some examples to show how to use the API.
All of these examples assume the following setup:
from gophish import Gophish
from gophish.models import *
api_key = 'API_KEY'
api = Gophish(api_key)
smtp = api.smtp.get()
smtp = api.smtp.get(smtp_id=1)
smtp = SMTP(name='Test SMTP')
smtp.host = "localhost:25"
smtp.from_address = "John Doe <[email protected]>"
smtp.interface_type = "SMTP"
smtp.ignore_cert_errors = True
smtp = api.smtp.post(smtp)
print smtp.id