mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Enable sending emails from alternate domain
This commit is contained in:
parent
9013321a1b
commit
7a20dc5c12
@ -21,4 +21,9 @@ class Domain
|
||||
{
|
||||
return 'https://app.' . static::getDomainFromId($id);
|
||||
}
|
||||
|
||||
public static function getEmailFromId($id)
|
||||
{
|
||||
return 'maildelivery@' . static::getDomainFromId($id);
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Laracasts\Presenter\PresentableTrait;
|
||||
use App\Models\Traits\PresentsInvoice;
|
||||
use App\Models\Traits\GeneratesNumbers;
|
||||
use App\Models\Traits\SendsEmails;
|
||||
|
||||
/**
|
||||
* Class Account
|
||||
@ -24,6 +25,7 @@ class Account extends Eloquent
|
||||
use SoftDeletes;
|
||||
use PresentsInvoice;
|
||||
use GeneratesNumbers;
|
||||
use SendsEmails;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
|
24
app/Models/Traits/SendsEmails.php
Normal file
24
app/Models/Traits/SendsEmails.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php namespace App\Models\Traits;
|
||||
|
||||
use Utils;
|
||||
use App\Constants\Domain;
|
||||
|
||||
/**
|
||||
* Class SendsEmails
|
||||
*/
|
||||
trait SendsEmails
|
||||
{
|
||||
public function getBccEmail()
|
||||
{
|
||||
return $this->isPro() ? $this->bcc_email : false;
|
||||
}
|
||||
|
||||
public function getFromEmail()
|
||||
{
|
||||
if ( ! $this->isPro() || ! Utils::isNinja()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Domain::getEmailFromId($this->domain_id);
|
||||
}
|
||||
}
|
@ -199,7 +199,8 @@ class ContactMailer extends Mailer
|
||||
'invoice' => $invoice,
|
||||
'documents' => $documentStrings,
|
||||
'notes' => $reminder,
|
||||
'bcc_email' => $account->isPro() ? $account->bcc_email : false,
|
||||
'bccEmail' => $account->getBccEmail(),
|
||||
'fromEmail' => $account->getFromEmail(),
|
||||
];
|
||||
|
||||
if ($account->attachPDF()) {
|
||||
@ -286,7 +287,8 @@ class ContactMailer extends Mailer
|
||||
'account' => $account,
|
||||
'payment' => $payment,
|
||||
'entityType' => ENTITY_INVOICE,
|
||||
'bcc_email' => $account->isPro() ? $account->bcc_email : false,
|
||||
'bccEmail' => $account->getBccEmail(),
|
||||
'fromEmail' => $account->getFromEmail(),
|
||||
];
|
||||
|
||||
if ($account->attachPDF()) {
|
||||
|
@ -42,14 +42,19 @@ class Mailer
|
||||
$replyEmail = $fromEmail;
|
||||
$fromEmail = CONTACT_EMAIL;
|
||||
|
||||
// Optionally send for alternate domain
|
||||
if (!empty($data['fromEmail'])) {
|
||||
$fromEmail = $data['fromEmail'];
|
||||
}
|
||||
|
||||
$message->to($toEmail)
|
||||
->from($fromEmail, $fromName)
|
||||
->replyTo($replyEmail, $fromName)
|
||||
->subject($subject);
|
||||
|
||||
// Optionally BCC the email
|
||||
if (!empty($data['bcc_email'])) {
|
||||
$message->bcc($data['bcc_email']);
|
||||
if (!empty($data['bccEmail'])) {
|
||||
$message->bcc($data['bccEmail']);
|
||||
}
|
||||
|
||||
// Attach the PDF to the email
|
||||
@ -58,7 +63,7 @@ class Mailer
|
||||
}
|
||||
|
||||
// Attach documents to the email
|
||||
if(!empty($data['documents'])){
|
||||
if (!empty($data['documents'])){
|
||||
foreach($data['documents'] as $document){
|
||||
$message->attachData($document['data'], $document['name']);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user