Using POP3 in PowerShell
This repository contains sample code demonstrating how to take advantage of .NET libraries in PowerShell to facilitate email communications without using an actual email client.
Warning: This is a demo only. These scripts are not intended to be used directly in a production environment.
Before using the demo code, the following tools and libraries are required. You may skip this section if these prerequisites are already installed.
- PowerShell 6: https://github.com/PowerShell/PowerShell/releases
- OpenPOP.NET (SourceForge): https://sourceforge.net/projects/hpop/files/
- OpenPOP.NET (NuGet): https://www.nuget.org/packages/OpenPop.NET/
Create a new email address dedicated for experimentation purposes. This way you don't need to worry about accidentally deleting important messages.
Download the OpenPOP.NET library, either from SourceForge, or NuGet (see links above).
OpenPop.dllbinary file from the
.zippackage into the
Edit the PowerShell script file
Source\FetchMail.ps1and supply the incoming POP3 server configuration, including the credentials needed for authentication:
# Incoming email configuration used for fetching messages $incomingUsername = "" $incomingPassword = "" $incomingServer = "" $incomingPortPOP3 = 995 # Normally 110 (not secure), or 995 (SSL) $incomingEnableSSL = $true
.\Tempsubdirectory is where the attachments will be saved in this demo. You may change the output location by editing
Source\FetchMail.ps1and specifying a different path for
Edit the test email file
Examples\Test-Message.emland change the
From:header fields to whatever is appropriate.
3 Supporting Resources
- Using POP3 in PowerShell - Main article
4 Legal and Copyright
Released under the MIT License.
Copyright 2018, DEAK Software