Skip to content

ivikramsahu/pepipost-cli

 
 

Repository files navigation

Pepipost-cli 🐧

pepipost-cli

Introduction

If you don't want to spend time in setting up the environment and write the code to simply send an email, then this CLI is the solution. This Linux agent is capable of sending emails in both the situations whether your outgoing SMTP port is blocked or not. In order to enable this, we have build support for both custom SMTP and API (in case email ports are blocked).

This CLI not only sends email but also keeps track of the actually email activity like whether the email is delivered, bounced, opened, clicked etc. And, all these data will be available to you in real time.

This CLI is developed in generic way. So that, even if you are not using Pepipost you can send email through other SMTP using this CLI.

For apiEmail and tracking of the email you need to have Pepipost account.

Note :: Please make sure your outgoing port 25,587,463 is open for sending SMTP mail & outgoing port 80,443 is open for sending API mail

This repo is under testing phase their might be bugs

Installation

cd $GOPATH/src/ && git clone github.com/pepipost/pepipost-cli.git && cd $GOPATH/src/pepipost-cli && go install cmd/pepipost/pepipost.go && $GOPATH/bin/./pepipost -h

  • Install using RPM

cd /tmp/ && wget https://pepipost.com/centos/Pepipost-1.0.1-1.x86_64.rpm && sudo rpm -Uvh Pepipost-1.0.1-1.x86_64.rpm

  • Install using deb

cd /tmp/ && wget https://pepipost.com/pepipost_1.0.0-2_amd64.deb && sudo dpkg -i pepipost_1.0.0-2_amd64.deb

  • Install using yum

    Open editor of your choice with sudo access we will use vim here

    sudo vim /etc/yum.repos.d/pepipost.repo
    

    Copy and paste the below lines and save file

     [pepipost]
     name=Pepipost Repository
     baseurl=https://pepipost.com/centos/
     enabled=1
     gpgcheck=0
    
    

    Installation

     yum install Pepipost
    

Setting Enviroment variable.

We recommend to set SMTP username, Password and Pepipost APIKEY has enviroment variable, which can be available after login to Pepipost app -> settings -> Integration

replace the credentials with your account and copy paste below in your ~/.bashrc or ~/.bash_profile or checkout setting enviroment variable / info on setting env

export PEPISMTPPASS="myaccount@345"
export PEPISMTPUSER="smtpusernameispepi"
export PEPIKEY="e8a874fbd6f35fffdsaXXXXXfa230879205"

Usage

  • Sending SMTP email using command line interface.

pepipost smtpEmail -h

OR

  
 pepipost smtpEmail 
 
	-d	smtp.pepipost.com 
	-P	25/465/587
	-u	smtpusername                                            #this will override your enviroment variable(not recommended)
	-p	smtpuserpassword                                        #this will override your enviroment variable(not recommended)
	-fn	fromname
	-f	info@yourregisterdomainwithpepipost.com 
	-t	myrecipient1@gmail.com,myrecipient2@gmail.com           #can pass multiple toaddress comma separated 
	-c	myrecipientcc1@gmail.com, myrecipientcc2@gmail.com      #can pass multiple cc address comma separated
	-B	mybcc1@gmail.com,mybcc2@gmail.com                       #can pass multiple bcc address comma separated
	-r 	replytoid@something.com                                 #replytoid for your email
	-s 	"Subject Line :: SMTPMAIL v1.0.0"                       #subject of your email
	-b 	"This is text email body from pepipost."                #body of your email
	-z	"<html><body></body></html>"                            #can pass html as text command line
	-Z 	"/tmp/htmldemo.html"                                    #can pass html file from path  
	-h 	"X-PepipostHeader,DEMO-786-XXX-435"                     #customized header you want to pass
	-a 	"/tmp/mypdfforpepi.pdf"                                 #attachment if any.
  • Sending API email using command line interface

pepipost apiEmail -h

OR

 pepipost apiEmail

	-K  "kfdjkanf dasjkfi38yirekjbfidsnk"               #this will override your enviroment variable(not recommended)
	-fn	fromname
	-f	info@yourregisterdomainwithpepipost.com
	-t	recipient1@gmail.com 
	-c	rcc1@gmail.com,rcc2@gmail.com                   #can pass multiple cc address comma separated
	-B	bcc@gmail.com
	-r 	replytoid@something.com
	-s 	"Subject Line :: APIMAIL v1.0.0"                #subject of your email
	-b 	"This is text email from pepipost."             #body of your email
	-z	"<html><body>mybody</body></html>"              #can pass html as text command line 
	-Z 	"/tmp/htmldemo.html"                            #can pass html file from path 
	-h 	"X-PepipostHeader,DEMO-786-XXX-435"             #customized header you want to pass
	-a 	"/tmp/mypdfforpepi.pdf"                         #attachment if any can pass multiple
  • Fetching logs for email activity

pepipost fetchLogs -h

OR

 pepipost fetchLogs

	-K 		dfadfadfjdkfjiojrkldfniodsjf34iu38oirn3		#this will override your enviroment variable(not recommended)										#
	-e 		processed,open,click,unsubscribe,bounce,softbounce,spam,invalid,dropped,hardbounce	#by default it will consider all
	-srt 		asc,desc	                        #by default it will be ascending
	-stdate		2019-02-11	                        #by default it will take last 90 days		
	-edate		2019-02-11	                        #by default it will be for today
	-s      	"excat subject you want to search"													
	-l		5					#limit max=100 , default =10 
	-o		12					#Point in the list to begin retrieving data
	-x 		"search using x-apiheader pass"		#Filter logs based on x-apiheader
	-m 		myemail@gmail.com			#Filter logs based on email
	-fa		info@pepipost.com			#Filter logs based on fromaddress

About

Linux Agent which will help you to perform various operations with respect to sending email,fetching reports, managing domains and many more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 97.9%
  • Shell 2.1%