mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 10:19:09 +00:00 
			
		
		
		
	Implemented msmtp for wordpress
This commit is contained in:
		
							
								
								
									
										29
									
								
								roles/msmtp/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								roles/msmtp/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | ||||
| # msmtp 📧 | ||||
|  | ||||
| ## Description | ||||
|  | ||||
| This Ansible role installs and configures **msmtp** and **msmtp-mta** on Arch Linux systems. It provides a lightweight SMTP client that serves as a drop-in replacement for the traditional sendmail command, enabling reliable email delivery via an external SMTP server. For more background on SMTP, see [SMTP on Wikipedia](https://en.wikipedia.org/wiki/SMTP). | ||||
|  | ||||
| ## Overview | ||||
|  | ||||
| Tailored for Arch Linux, this role uses the `pacman` package manager to install **msmtp** and **msmtp-mta**. It then deploys a pre-configured msmtprc file via a Jinja2 template that defines settings for authentication, TLS, and the target SMTP server. This role is ideal for environments where automated email notifications or direct email sending are required. | ||||
|  | ||||
| ## Purpose | ||||
|  | ||||
| The purpose of this role is to automate the setup of a lightweight SMTP client that acts as a sendmail replacement. By configuring msmtp, the role facilitates direct email sending using your SMTP server credentials, making it a simple yet effective solution for system notifications and other email-based communications. | ||||
|  | ||||
| ## Features | ||||
|  | ||||
| - **Installs msmtp and msmtp-mta:** Uses `pacman` to install the required packages. | ||||
| - **Customizable SMTP Configuration:** Deploys a customizable msmtprc configuration file with parameters for TLS, authentication, and server details. | ||||
| - **Drop-in sendmail Replacement:** Configures msmtp to serve as the default sendmail command. | ||||
| - **Idempotent Setup:** Ensures the tasks run only once with internal flagging. | ||||
| - **Integration Ready:** Easily integrates with other system roles within the CyMaIS environment for automated notifications. | ||||
|  | ||||
| ## Credits 📝 | ||||
|  | ||||
| Developed and maintained by **Kevin Veen-Birkenbach**.   | ||||
| Learn more at [www.veen.world](https://www.veen.world) | ||||
|  | ||||
| Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais)   | ||||
| License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl) | ||||
							
								
								
									
										24
									
								
								roles/msmtp/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								roles/msmtp/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| galaxy_info: | ||||
|   author: "Kevin Veen-Birkenbach" | ||||
|   description: "Installs and configures msmtp, a lightweight SMTP client and sendmail replacement." | ||||
|   license: "CyMaIS NonCommercial License (CNCL)" | ||||
|   license_url: "https://s.veen.world/cncl" | ||||
|   company: | | ||||
|     Kevin Veen-Birkenbach | ||||
|     Consulting & Coaching Solutions | ||||
|     https://www.veen.world | ||||
|   min_ansible_version: "2.9" | ||||
|   platforms: | ||||
|     - name: Archlinux | ||||
|       versions: | ||||
|         - rolling | ||||
|   galaxy_tags: | ||||
|     - email | ||||
|     - msmtp | ||||
|     - smtp | ||||
|     - automation | ||||
|     - archlinux | ||||
|   repository: "https://s.veen.world/cymais" | ||||
|   issue_tracker_url: "https://s.veen.world/cymaisissues" | ||||
|   documentation: "https://s.veen.world/cymais" | ||||
| dependencies: [] | ||||
							
								
								
									
										19
									
								
								roles/msmtp/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								roles/msmtp/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| - name: install msmtp msmtp-mta  | ||||
|   community.general.pacman: | ||||
|     name: | ||||
|       - msmtp | ||||
|       - msmtp-mta | ||||
|     state:  present | ||||
|   when: run_once_msmtp is not defined | ||||
|  | ||||
| - name: configure msmtprc.conf.j2 | ||||
|   template: | ||||
|     src:  "msmtprc.conf.j2" | ||||
|     dest: "/root/.msmtprc" | ||||
|     mode: 600 | ||||
|   when: run_once_msmtp is not defined | ||||
|  | ||||
| - name: run the msmtp tasks once | ||||
|   set_fact: | ||||
|     run_once_msmtp: true | ||||
|   when: run_once_msmtp is not defined | ||||
							
								
								
									
										20
									
								
								roles/msmtp/templates/msmtprc.conf.j2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								roles/msmtp/templates/msmtprc.conf.j2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| # Set default values for all following accounts. | ||||
| defaults | ||||
| auth           on | ||||
| logfile        ~/.msmtp.log | ||||
| tls_starttls   {{ 'on' if system_email.start_tls else 'off' }} | ||||
| {% if system_email.tls %} | ||||
| tls            on | ||||
| tls_trust_file /etc/ssl/certs/ca-certificates.crt | ||||
| {% else %} | ||||
| tls            off | ||||
| {% endif %} | ||||
|  | ||||
| account        system_email | ||||
| host           {{system_email.host}} | ||||
| port           {{system_email.port}} | ||||
| from           {{system_email.from}} | ||||
| user           {{system_email.username}} | ||||
| password       {{system_email.password}} | ||||
|  | ||||
| account default : system_email | ||||
		Reference in New Issue
	
	Block a user