
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
protonmail-api
Advanced tools
Unofficial API for interacting with ProtonMail.
Allows interaction with ProtonMail through a simple Node.js API. Leverages the official WebClient, keeping with the spirit of security and privacy. Currently supports sending email, managing email/conversations, and managing labels and folders. See the documentation for full functionality.
This project is not endorsed or supported by Proton Technologies AG.
npm install protonmail-api
const ProtonMail = require('protonmail-api');
(async () => {
const pm = await ProtonMail.connect({
username: 'foobar@protonmail.com',
password: 'somethingsecure'
})
await pm.sendEmail({
to: 'justin@kalland.ch',
subject: 'Send email tutorial',
body: 'Hello world'
})
pm.close()
})()
Numerous examples can be found in the tutorials section of the documentation.
This library uses Puppeteer (headless Chromium) to load and control the official ProtonMail WebClient.
The first attempt at building this was by trying to reverse engineer the API from the WebClient. This proved to be difficult and fragile. By utilizing the AngularJS modules (through the headless browser) this library is able to leverage all the work that goes into the official WebClient. This also means complex and sensitive things (like cryptography) are not handled by this library. The main drawback to this approach is the added weight of Puppeteer.
This project is looking for maintainers and contributors. Please contact justin@kalland.ch if you are interested.
To run integration tests you need to provide a ProtonMail account. It is best to use a dedicated testing account without any filters. The credentials are set as environment variables PM_USERNAME and PM_PASSWORD.
Example:
PM_USERNAME=footest@protonmail.com PM_PASSWORD=kgjSOE223qWer npm run test
Or create a .env file (in this directory next to package.json:
PM_USERNAME=footest@protonmail.com
PM_PASSWORD=kgjSOE223qWer
FAQs
Node.js API for ProtonMail
The npm package protonmail-api receives a total of 78 weekly downloads. As such, protonmail-api popularity was classified as not popular.
We found that protonmail-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.