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);
|
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 Laracasts\Presenter\PresentableTrait;
|
||||||
use App\Models\Traits\PresentsInvoice;
|
use App\Models\Traits\PresentsInvoice;
|
||||||
use App\Models\Traits\GeneratesNumbers;
|
use App\Models\Traits\GeneratesNumbers;
|
||||||
|
use App\Models\Traits\SendsEmails;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class Account
|
* Class Account
|
||||||
@ -24,6 +25,7 @@ class Account extends Eloquent
|
|||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
use PresentsInvoice;
|
use PresentsInvoice;
|
||||||
use GeneratesNumbers;
|
use GeneratesNumbers;
|
||||||
|
use SendsEmails;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @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,
|
'invoice' => $invoice,
|
||||||
'documents' => $documentStrings,
|
'documents' => $documentStrings,
|
||||||
'notes' => $reminder,
|
'notes' => $reminder,
|
||||||
'bcc_email' => $account->isPro() ? $account->bcc_email : false,
|
'bccEmail' => $account->getBccEmail(),
|
||||||
|
'fromEmail' => $account->getFromEmail(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($account->attachPDF()) {
|
if ($account->attachPDF()) {
|
||||||
@ -286,7 +287,8 @@ class ContactMailer extends Mailer
|
|||||||
'account' => $account,
|
'account' => $account,
|
||||||
'payment' => $payment,
|
'payment' => $payment,
|
||||||
'entityType' => ENTITY_INVOICE,
|
'entityType' => ENTITY_INVOICE,
|
||||||
'bcc_email' => $account->isPro() ? $account->bcc_email : false,
|
'bccEmail' => $account->getBccEmail(),
|
||||||
|
'fromEmail' => $account->getFromEmail(),
|
||||||
];
|
];
|
||||||
|
|
||||||
if ($account->attachPDF()) {
|
if ($account->attachPDF()) {
|
||||||
|
@ -42,14 +42,19 @@ class Mailer
|
|||||||
$replyEmail = $fromEmail;
|
$replyEmail = $fromEmail;
|
||||||
$fromEmail = CONTACT_EMAIL;
|
$fromEmail = CONTACT_EMAIL;
|
||||||
|
|
||||||
|
// Optionally send for alternate domain
|
||||||
|
if (!empty($data['fromEmail'])) {
|
||||||
|
$fromEmail = $data['fromEmail'];
|
||||||
|
}
|
||||||
|
|
||||||
$message->to($toEmail)
|
$message->to($toEmail)
|
||||||
->from($fromEmail, $fromName)
|
->from($fromEmail, $fromName)
|
||||||
->replyTo($replyEmail, $fromName)
|
->replyTo($replyEmail, $fromName)
|
||||||
->subject($subject);
|
->subject($subject);
|
||||||
|
|
||||||
// Optionally BCC the email
|
// Optionally BCC the email
|
||||||
if (!empty($data['bcc_email'])) {
|
if (!empty($data['bccEmail'])) {
|
||||||
$message->bcc($data['bcc_email']);
|
$message->bcc($data['bccEmail']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Attach the PDF to the email
|
// Attach the PDF to the email
|
||||||
@ -58,7 +63,7 @@ class Mailer
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Attach documents to the email
|
// Attach documents to the email
|
||||||
if(!empty($data['documents'])){
|
if (!empty($data['documents'])){
|
||||||
foreach($data['documents'] as $document){
|
foreach($data['documents'] as $document){
|
||||||
$message->attachData($document['data'], $document['name']);
|
$message->attachData($document['data'], $document['name']);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user