Пример #1
0
 /**
  * SMTP Detail.
  *
  * @return \Illuminate\Http\Response
  */
 public function getSMTPDetail($id)
 {
     $detalle = SentEmail::find($id);
     if (!$detalle) {
         return back();
     }
     return \View('emailTrakingViews::smtp_detail')->with('details', $detalle);
 }
Пример #2
0
 protected function updateSesMessageId($message)
 {
     // Get the SentEmail object
     $headers = $message->getHeaders();
     $hash = $headers->get('X-Mailer-Hash')->getFieldBody();
     $sent_email = SentEmail::where('hash', $hash)->first();
     // Get info about the
     $sent_email->message_id = $headers->get('X-SES-Message-ID')->getFieldBody();
     $sent_email->save();
 }
Пример #3
0
 /**
  * @test
  */
 public function it_processes_a_complaint()
 {
     // Set a track email to use a known message id
     $track = \jdavidbakr\MailTracker\Model\SentEmail::orderBy('id', 'desc')->first();
     $message_id = str_random(32);
     $track->message_id = $message_id;
     $track->save();
     $this->post(action('\\jdavidbakr\\MailTracker\\SNSController@callback'), ['message' => json_encode(['Message' => json_encode(['notificationType' => 'Complaint', 'mail' => ['timestamp' => \Carbon\Carbon::now()->timestamp, 'messageId' => $message_id, 'source' => $track->sender, 'sourceArn' => str_random(32), 'sendingAccountId' => str_random(10), 'destination' => [$track->recipient]], 'complaint' => ['complainedRecipients' => [['emailAddress' => '*****@*****.**']], 'timestamp' => \Carbon\Carbon::now()->timestamp, 'feedbackId' => str_random(10), 'userAgent' => str_random(10), 'complaintFeedbackType' => 'feedback type', 'arrivalDate' => \Carbon\Carbon::now()]]), 'MessageId' => str_random(10), 'Timestamp' => \Carbon\Carbon::now()->timestamp, 'TopicArn' => str_random(10), 'Type' => 'Notification', 'Signature' => str_random(32), 'SigningCertURL' => str_random(32), 'SignatureVersion' => 1])]);
     $this->see('notification processed');
     $track = $track->fresh();
     $meta = $track->meta;
     $this->assertFalse($meta->get('success'));
 }
Пример #4
0
 public function process_complaint($message)
 {
     $message_id = $message->mail->messageId;
     $sent_email = SentEmail::where('message_id', $message_id)->first();
     if ($sent_email) {
         $meta = $sent_email->meta;
         $meta->put('complaint', true);
         $meta->put('success', false);
         $meta->put('complaint_time', $message->complaint->timestamp);
         if (!empty($message->complaint->complaintFeedbackType)) {
             $meta->put('complaint_type', $message->complaint->complaintFeedbackType);
         }
         $sent_email->meta = $meta;
         $sent_email->save();
     }
 }