mydor / rackspace-email-management Goto Github PK
View Code? Open in Web Editor NEWA "simple" email account management tool, to manage my Rackspace Email accounts and aliases by utilizing the provided API.
License: GNU General Public License v3.0
A "simple" email account management tool, to manage my Rackspace Email accounts and aliases by utilizing the provided API.
License: GNU General Public License v3.0
Rackspace will lowercase addresses. This means that if you create an alias "DNS-Admin@...", on the next go-around, your configuration will have 'DNS-Admin@...', but rackspace will return "dns-admin@...".
During comparison, it will see that rackspace does not have "DNS-Admin@...", so try to create it (already exists, so errors), and that rackspace has "dns-admin@...", which you don't have, so will delete it.
Add module to manage Accounts
Add administrator module
Describe the bug
The sync script will fail if you only have ACL lists and no settings
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It would be expected that the ACL would be updated, without changing any spam settings
Screenshots
File "./sync.py", line 162, in <module>
sync(CONFIG)
File "./sync.py", line 132, in sync
process_domain(domain, domain_cfg, api)
File "./sync.py", line 121, in process_domain
process_accounts(accounts, Accounts(api, debug=DEBUG).get())
File "./sync.py", line 75, in process_accounts
process_spam(account.api, account.data['spam'], name=name)
File "./sync.py", line 103, in process_spam
rs_spam = cfg_spam.get()
File "/home/msmith/python/rackspace-email-management/rackspace/spam.py", line 182, in get
new.acl[acl] = self.acl[acl].get()
AttributeError: 'NoneType' object has no attribute 'get'
Desktop (please complete the following information):
N/A
Smartphone (please complete the following information):
N/A
Additional context
Describe the bug
When trying to move an alias, the code logic gets confused and tries to add/create the alias, instead of update it.
I "think" this is only a problem with incremental syncs.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The alias should just be moved to the new account without error
Screenshots
SYNC: tmp/[email protected]
GET https://api.emailsrvr.com/v1/customers/<cust id>/domains/<domain>/rs/aliases/<alias>
NEW
obj.add()
POST https://api.emailsrvr.com/v1/customers/<cust id>/domains/<domain>/rs/aliases/<alias>&recover=False
{
"validationFault": {
"code": 400,
"details": "1/15/2024 10:09:39 AM",
"message": "The email address <alias>@<domain> is already in use.",
"reasons": [
{
"property": null,
"reason": "The email address <alias>@<domain> is already in use.",
"specType": "EmailAlreadyInUse",
"type": "Alias"
}
]
}
}
Domain module to manage (add/remove) your mail domains
Add module to manage aliases
Add module to manage spam settings
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.