{ "info": { "author": "Henrik Levkowetz", "author_email": "henrik@levkowetz.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Other Audience", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Topic :: Communications :: Email" ], "description": "\nCaution\n-------\n\nThis is an alpha release. While the functionality is sound, the\npackaging is probably not even beta quality. Compilation of the\ncomponents written in C has only been tested under Linux.\n\nDescription\n-----------\n\npostconfirm consists of postconfirmd, which is the long-running\n(daemon) part, and postconfirmc, which is the client part of a\nclient-server program which handles email confirmations. It is\nintended as a front-end to mailing lists. It provides\nfuncitonality which is a subset of TMDA, but is adapted to\nhigh-volume usage and does not have anywhere near all the bells\nand whistles which TMDA has. On the other hand, since the\nwhitelist lookup is done by the long-running server part, the\noverhead of doing a verification that a poster has a confirmed\naddress is much smaller than for TMDA. This makes it a factor\n1000 or more faster than TMDA in production, with a memory footprint\na factor 20 smaller.\n\n\n\nChangelog\n=========\n\nVersion 0.42.1 (31 Jul 2018)\n------------------------------------------------\n\n\n * Added domain name normalization (to lowercase) before checking whether we\n got a hit on the _dmarc domain lookup. Commented out verbose wall-time\n log messages.\n\n\n\n\nVersion 0.42.0 (09 May 2018)\n------------------------------------------------\n\n\n * Added a check on the sender address during dmarc-reverse processing,\n requiring that the sender is whitelisted or has a confirmed address.\n\n * Changed the logging of dmarc-reverse processing to use a more compact\n log line format, and commented out some debug logging statements.\n\n * Added exception catching and loggin for failures to open smtp sessions\n to the configured server and port.\n\n * Fixed a log writing bug.\n\n\n\n\nVersion 0.41.5 (20 Apr 2018)\n------------------------------------------------\n\n\n * Fixed dmarc_reverse() to not re-send to other addresses than the \n indicated recipient.\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "Mailing list posting confirmation daemon", "license": "Simplified BSD", "maintainer": "", "maintainer_email": "", "name": "postconfirm", "package_url": "https://pypi.org/project/postconfirm/", "platform": "", "project_url": "https://pypi.org/project/postconfirm/", "project_urls": null, "release_url": "https://pypi.org/project/postconfirm/0.42.1/", "requires_dist": null, "requires_python": "", "summary": "Mailing list posting confirmation daemon", "version": "0.42.1" }, "last_serial": 4120901, "releases": { "0.41.0": [ { "comment_text": "", "digests": { "md5": "44eb188dfe35a4c1508d97e6d5309ced", "sha256": "3905b307572e4909df20beaea423e09a6cef560b1ee34df3d047eba5fe4f6531" }, "downloads": -1, "filename": "postconfirm-0.41.0.tar.gz", "has_sig": true, "md5_digest": "44eb188dfe35a4c1508d97e6d5309ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 65871, "upload_time": "2018-02-14T15:57:56", "url": "https://files.pythonhosted.org/packages/7f/df/5569333c0f116a82982b0b8333bb07903dd343df690bb676fbcb68903747/postconfirm-0.41.0.tar.gz" } ], "0.41.1": [ { "comment_text": "", "digests": { "md5": "1bf7ceb3cb75808300991f17097c2c49", "sha256": "6c29e5e1fd54487c61b0b053e94b224cfc5fae0f12ef437247355d8968ae7974" }, "downloads": -1, "filename": "postconfirm-0.41.1.tar.gz", "has_sig": true, "md5_digest": "1bf7ceb3cb75808300991f17097c2c49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69109, "upload_time": "2018-02-15T17:57:52", "url": "https://files.pythonhosted.org/packages/52/50/98bc73e31efe94dd8e19d50c43ba53d41674363b4802f3e06b525b8446e1/postconfirm-0.41.1.tar.gz" } ], "0.41.2": [ { "comment_text": "", "digests": { "md5": "aeba09bb222b0eaba5e86c757e0a9c4c", "sha256": "e73b66e48d9efd9cb6a208e3e4b129be273aa4fd93dc9f731e90db63394429e7" }, "downloads": -1, "filename": "postconfirm-0.41.2.tar.gz", "has_sig": true, "md5_digest": "aeba09bb222b0eaba5e86c757e0a9c4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69255, "upload_time": "2018-02-16T12:28:47", "url": "https://files.pythonhosted.org/packages/c3/69/f88a9ebfa8547c8bae46b8c1d139eb0c603effc8ab1b4710e4b9a93359be/postconfirm-0.41.2.tar.gz" } ], "0.41.3": [ { "comment_text": "", "digests": { "md5": "32d63609b8bc0f50585f8c33a1a0037e", "sha256": "7ccf82a949c93108ce08bd620cdcaecfe8ceb0aeb3e112d3adec002007c2ad02" }, "downloads": -1, "filename": "postconfirm-0.41.3.tar.gz", "has_sig": true, "md5_digest": "32d63609b8bc0f50585f8c33a1a0037e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69504, "upload_time": "2018-02-21T17:05:41", "url": "https://files.pythonhosted.org/packages/e5/30/75cf369b208984b16e3bfbd20baf9cb6363cc6462a7bf812d1e9653416e9/postconfirm-0.41.3.tar.gz" } ], "0.41.4": [ { "comment_text": "", "digests": { "md5": "8253185c6c712f03a767486dca1b996c", "sha256": "1d560741507b904ca30423fe679abe528a98b777139c3dfe7d23f5cc18324e02" }, "downloads": -1, "filename": "postconfirm-0.41.4.tar.gz", "has_sig": true, "md5_digest": "8253185c6c712f03a767486dca1b996c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69606, "upload_time": "2018-03-01T14:48:12", "url": "https://files.pythonhosted.org/packages/0f/0a/f4b5640614833a5cd23599a0aa3b2d41ee7a99dd193128032ac4a92a545b/postconfirm-0.41.4.tar.gz" } ], "0.41.5": [ { "comment_text": "", "digests": { "md5": "3c3230ab78000f477753031b1189097e", "sha256": "6165f93faff9821f35385b2ccee5d0015098aa38db8f8368d74b61cba6a4458f" }, "downloads": -1, "filename": "postconfirm-0.41.5.tar.gz", "has_sig": true, "md5_digest": "3c3230ab78000f477753031b1189097e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69628, "upload_time": "2018-04-20T12:05:01", "url": "https://files.pythonhosted.org/packages/fc/04/5f090c3d4c36a8a1e12306d3f43692347ad12e48f3ab7088395c636b6e4c/postconfirm-0.41.5.tar.gz" } ], "0.42.0": [ { "comment_text": "", "digests": { "md5": "c80415e7448660ba639e54391b842219", "sha256": "4bea4be8e964bff4da3a870eb90b39ac36909a75fb4ba06452947e90ae35c11d" }, "downloads": -1, "filename": "postconfirm-0.42.0.tar.gz", "has_sig": true, "md5_digest": "c80415e7448660ba639e54391b842219", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69851, "upload_time": "2018-05-09T21:04:46", "url": "https://files.pythonhosted.org/packages/3f/a9/d3e6b70e69623a6d724774097cb1e53392141263ced0f51e1368d7532755/postconfirm-0.42.0.tar.gz" } ], "0.42.1": [ { "comment_text": "", "digests": { "md5": "d2e5ce3c4578d85c9e2c7cdf0b6c501e", "sha256": "2d4c300154c167d454226f16186df021918e8b0d3835222786e089e9c4e4002c" }, "downloads": -1, "filename": "postconfirm-0.42.1.tar.gz", "has_sig": true, "md5_digest": "d2e5ce3c4578d85c9e2c7cdf0b6c501e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69958, "upload_time": "2018-07-31T15:48:28", "url": "https://files.pythonhosted.org/packages/5c/28/bbdfbac9278c70ad3b25d7baf07efc147594e675a6f053f4940fad741f52/postconfirm-0.42.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2e5ce3c4578d85c9e2c7cdf0b6c501e", "sha256": "2d4c300154c167d454226f16186df021918e8b0d3835222786e089e9c4e4002c" }, "downloads": -1, "filename": "postconfirm-0.42.1.tar.gz", "has_sig": true, "md5_digest": "d2e5ce3c4578d85c9e2c7cdf0b6c501e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 69958, "upload_time": "2018-07-31T15:48:28", "url": "https://files.pythonhosted.org/packages/5c/28/bbdfbac9278c70ad3b25d7baf07efc147594e675a6f053f4940fad741f52/postconfirm-0.42.1.tar.gz" } ] }