项目作者: rolzwy7

项目描述 :
Mailgun API client
高级语言: Python
项目地址: git://github.com/rolzwy7/mailgun-api-client.git
创建时间: 2018-07-31T12:54:38Z
项目社区:https://github.com/rolzwy7/mailgun-api-client

开源协议:MIT License

下载


Mailgun API Client


Mailgun homepage

Usage


1.) Creating object ( configuration )

There are three ways of creating Api object

  1. from mgapi.mgapi import Api as MailgunApi
  2. # With json config file (see config_example.json)
  3. api = MailgunApi(
  4. config_file="C:\\Users\\Account\\Desktop\\config.json",
  5. debug=False
  6. )
  7. # Through parameters
  8. api = MailgunApi(
  9. base_url="https://api.mailgun.net/v3",
  10. domain="<your_domain>",
  11. api_user="api",
  12. private_key="<your_private_key>"
  13. )
  14. # With configuration inherited from 'MGApiConfiguration' class in mgapi.py
  15. # See 'MGApiConfiguration' class constructor
  16. api = MailgunApi()

2.) Making request ( example )

  1. from mgapi.mgapi import Api as MailgunApi
  2. api = MailgunApi(config_file="C:\\Users\\Account\\Desktop\\config.json")
  3. ### Get stats for all event types
  4. for event in api._EVENTS:
  5. print("-"*15, event.upper(), "-"*15)
  6. deserialized, serialized = api.get_stats_total(event=event)
  7. print(serialized)
  8. ### Send email 8 hours from now
  9. # Set additional sending options
  10. sending_options = api.ret_additional_sending_options()
  11. sending_options["o:tag"] = ["MyTag"]
  12. sending_options["o:deliverytime"] = api.nowRFC2822(hours=8)
  13. # Send email
  14. deserialized, serialized = api.send_single_message(
  15. From="YourNameHere <email@domain.io>",
  16. to="receiver@example.io",
  17. subject="Your Subject Here",
  18. html="<b>Test mail</b>",
  19. text="Test mail",
  20. additional_sending_options=sending_options
  21. )
  22. # print response
  23. print(serialized)

Deserialized & Serialized


All methods that serve API endpoints return two values:

deserialized - deserialized JSON response (json object)

serialized - serialized JSON response (json string)

Justification


All request results come with additional key: justify

  1. "justify": {
  2. "msg": "Operation succeeded.", # Message for user
  3. "reason": "", # justification of failure
  4. "success": true # indicator of success or failure
  5. }

Examples


For more examples check out examples directory.

Supported endpoints


For more information visit: Mailgun API Reference

Endpoint Api Method
POST /lists add_list
POST /{domain}/messages send_single_message
POST /lists/{address}/members.json bulk_add_members
GET /domains/{domain} get_domains
GET /domains get_domains
GET /{domain}/bounces get_bounces
GET /{domain}/bounces/{address} get_bounces
GET /{domain}/unsubscribes get_unsubscribes
GET /{domain}/unsubscribes/{address} get_unsubscribes
GET /{domain}/complaints get_complaints
GET /{domain}/complaints/{address} get_complaints
GET /lists/{address} get_lists
GET /lists/pages get_lists
GET /lists/{address}/members/{member_address} get_members
GET /lists/{address}/members/pages get_members
GET /{domain}/events get_events
GET /{domain}/stats/total get_stats_total
GET /{domain}/tags/{tag}/stats/aggregates/countries get_tag_aggregates
GET /{domain}/tags/{tag}/stats/aggregates/providers get_tag_aggregates
GET /{domain}/tags/{tag}/stats/aggregates/devices get_tag_aggregates
GET /{domain}/tags/{tag}/stats get_tag_stats
GET /{domain}/tags get_tags
GET /{domain}/tags/{tag} get_tags