=== wp2pgpmail ===
Contributors: wp2pgpmail
Tags: pgp, encryption, contact form, gpg, privacy
Requires at least: 5.0
Tested up to: 7.1
Stable tag: 2.0
Requires PHP: 7.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A contact form that encrypts messages with your PGP public key, in the visitor's browser, before they are sent.

== Description ==

wp2pgpmail adds a contact form to your site. When a visitor sends it, the message is encrypted **in their browser** with your PGP public key, then emailed to you. Your site, your hosting company and every mail server along the way only ever see encrypted text: only your private key can read it.

* **Encrypted before it leaves the browser.** Name, email address, subject and message are all inside the encrypted message. The server accepts nothing else: a message in clear is refused.
* **Works with today's keys.** RSA and Curve25519 keys from GnuPG, Thunderbird, Kleopatra, GPG Suite or any OpenPGP tool. The settings page shows the key's fingerprint, algorithm and expiry date, and refuses private keys.
* **Check it in one click.** Send yourself an encrypted test message from the settings page.
* **Spam protection without a captcha**: a hidden trap field, a minimum filling time and a limit per hour, with no third-party service.
* **Light and accessible.** No jQuery; scripts load only on the page with the form. The form follows your theme's styles, block themes included.
* **Visitors can check the key.** The form shows the end of your key's fingerprint, so you can publish the full fingerprint for comparison.
* **Private by default.** No IP address is collected unless you turn it on, and then only inside the encrypted message.

Encryption uses [OpenPGP.js](https://openpgpjs.org/), the library maintained by Proton.

= Don't have a PGP key? =

Create one in your browser with our free [PGP Key Generator](https://wp2pgpmail.com/pgp-key-generator/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=wp2pgpmail), or with GnuPG on your computer.

= Using Gravity Forms? =

[Gravity Forms PGP Encryption](https://wp2pgpmail.com/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=wp2pgpmail) encrypts the notifications of any Gravity Forms form: every field type, as many forms and recipients as you need.

== Installation ==

1. Install and activate the plugin from **Plugins → Add New**.
2. Go to **wp2pgpmail** in the admin menu and paste your PGP **public** key.
3. Click **Send a test message** and check that you can decrypt it.
4. Add the shortcode `[wp2pgpmail]` to a page (in the block editor, use a Shortcode block).

== Frequently Asked Questions ==

= How do I read the messages I receive? =

Open them in an email client with PGP support (Thunderbird has it built in, or Outlook with Gpg4win, Apple Mail with GPG Suite), or paste the encrypted text into GnuPG or our [PGP Key Generator](https://wp2pgpmail.com/pgp-key-generator/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=wp2pgpmail) with your private key.

= Where do the messages go? =

To the address set in the plugin settings, or to the site administration email address if you leave it empty. They are sent with `wp_mail()`: if your site has trouble sending emails, an SMTP plugin usually fixes it.

= I am upgrading from version 1.x. Do I need to do anything? =

No. Your public key is kept. The captcha option is gone (replaced by invisible spam protection), and the IP address is now only collected if you enable it.

= Does it work with page caching? =

Yes. Nothing in the page depends on the visitor: the form asks the server for what it needs when the visitor starts typing.

= My site is behind Cloudflare or another proxy. =

The limit of 10 messages per hour applies per IP address. If your server only sees the proxy's address, the limit applies to all visitors together: raise it with the `wp2pgpmail_max_per_hour` filter.

== Screenshots ==

1. The contact form, styled by your theme.
2. The settings page checks your public key and shows its details.
3. The message as you receive it, and once decrypted.

== Changelog ==

= 2.0 =
* Complete rewrite with OpenPGP.js 6: keys made with current versions of GnuPG (RSA and Curve25519) are now accepted.
* New form: name, email, optional subject and message, all encrypted together in the browser.
* Settings page: key details (fingerprint, algorithm, expiry), private keys refused, choice of recipient address, encrypted test message.
* Spam protection without captcha (hidden field, minimum filling time, hourly limit); the Securimage captcha library is removed.
* Scripts load only on pages that show the form; jQuery is no longer needed. Works with block themes and page caching.
* The IP address is only collected when enabled in the settings.
* License: GPLv2 or later.

= 1.28 =
* Adding languages

= 1.27 =
* Updating OpenPGP library to 4.10.7

= 1.26 =
* Updating phpcaptcha Securimage to 3.6.7

= 1.25 =
* Testing plugin for WordPress 5.0

= 1.24 =
* Fixing OpenPGP key support

= 1.23 =
* Updating links

= 1.22 =
* Replacing $ by jQuery in the OpenPGP library

= 1.21 =
* Improving script integration

= 1.20 =
* Updating description

= 1.19 =
* Testing plugin for WordPress 4.7

= 1.18 =
* Fixing OpenPGP for Internet Explorer

= 1.17 =
* OpenPGP key support

= 1.16 =
* Captcha is now optional
* IP Address Collect is now optional (Germany's Telemedia Act defines IP addresses as personal data and prohibits the use of these IP addresses for the purpose of analyzing individual web traffic behavior)

= 1.15 =
* Added Danish translation (user contributed)

= 1.14 =
* Updated German translation (user contributed)

= 1.13 =
* Fixing translation support

= 1.12 =
* Improving WordPress compliance (user contributed)

= 1.11 =
* Improving SSL support

= 1.10 =
* Using **wp_mail** function instead of **mail** function (user contributed)

= 1.09 =
* Added link to wp2pgpmail Support Team

= 1.08 =
* bug fix : PGP public keys with a comment line inside were not recognized

= 1.07 =
* Added Estonian translation (user contributed)

= 1.06 =
* Added Spanish translation (user contributed)

= 1.05 =
* Added German translation (user contributed)

= 1.04 =
* Changing the tag to **[wp2pgpmail]** (using Shortcode API now)

= 1.03 =
* Changing the tag to **{wp2pgpmail}**
* Adding new fields to the form
* Adding empty index files to protect all directories

= 1.02 =
* Fixing bug with some themes

= 1.01 =
* Initial import

