You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							656 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							656 B
						
					
					
				| <?php | |
|  | |
| namespace core\services; | |
|  | |
| use core\forms\ContactForm; | |
| use yii\mail\MailerInterface; | |
|  | |
| class ContactService | |
| { | |
|     private $adminEmail; | |
|     private $mailer; | |
|  | |
|     public function __construct($adminEmail, MailerInterface $mailer) | |
|     { | |
|         $this->adminEmail = $adminEmail; | |
|         $this->mailer = $mailer; | |
|     } | |
|  | |
|     public function send(ContactForm $form): void | |
|     { | |
|         $sent = $this->mailer->compose() | |
|             ->setTo($this->adminEmail) | |
|             ->setSubject($form->subject) | |
|             ->setTextBody($form->body) | |
|             ->send(); | |
|  | |
|         if (!$sent) { | |
|             throw new \RuntimeException('Sending error.'); | |
|         } | |
|     } | |
| } |