. */ declare(strict_types=1); namespace FireflyIII\Mail; use FireflyIII\Exceptions\FireflyException; use Illuminate\Bus\Queueable; use Illuminate\Mail\Mailable; use Illuminate\Queue\SerializesModels; /** * Class NewIPAddressWarningMail */ class NewIPAddressWarningMail extends Mailable { use Queueable; use SerializesModels; public string $host; public string $ipAddress; public string $time; /** * OAuthTokenCreatedMail constructor. */ public function __construct(string $ipAddress) { $this->ipAddress = $ipAddress; } /** * Build the message. * * @return $this */ public function build(): self { $this->time = now(config('app.timezone'))->isoFormat((string)trans('config.date_time_js')); $this->host = ''; try { $hostName = app('steam')->getHostName($this->ipAddress); } catch (FireflyException $e) { app('log')->error($e->getMessage()); $hostName = $this->ipAddress; } if ($hostName !== $this->ipAddress) { $this->host = $hostName; } return $this ->markdown('emails.new-ip') ->subject((string)trans('email.login_from_new_ip')) ; } }