Advertisement
ArcaniSGK507

Untitled

Mar 27th, 2025
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.11 KB | None | 0 0
  1. #!/usr/bin/env php
  2. <?php
  3.  
  4. // Define the application root directory
  5. define('ROOT_DIR', dirname(__DIR__));
  6.  
  7. // Require the Composer autoloader
  8. require ROOT_DIR . '/vendor/autoload.php';
  9.  
  10. // Load configuration files
  11. require ROOT_DIR . '/config/app.php';
  12. require ROOT_DIR . '/config/mail.php';
  13.  
  14. use App\Helpers\DkimHelper;
  15.  
  16. // Output header
  17. echo "═════════════════════════════════════\n";
  18. echo "       DKIM Key Generator Tool        \n";
  19. echo "═════════════════════════════════════\n\n";
  20.  
  21. try {
  22.     // Create DKIM helper
  23.     $dkimHelper = new DkimHelper();
  24.  
  25.     // Generate keys (2048 bits is recommended)
  26.     echo "Generating DKIM keys (2048 bits)...\n";
  27.     $result = $dkimHelper->generateKeys(ROOT_DIR . '/config/mail', 2048);
  28.  
  29.     echo "DKIM keys generated successfully!\n\n";
  30.     echo "Private key saved to: {$result['private_key_path']}\n";
  31.     echo "Public key saved to: {$result['public_key_path']}\n\n";
  32.  
  33.     echo "═════════════════════════════════════\n";
  34.     echo "DNS TXT Record for DKIM configuration:\n";
  35.     echo "═════════════════════════════════════\n\n";
  36.  
  37.     $domain = MAIL_DKIM_DOMAIN;
  38.     $selector = MAIL_DKIM_SELECTOR;
  39.  
  40.     echo "Domain: $domain\n";
  41.     echo "Selector: $selector\n\n";
  42.  
  43.     echo "Create this DNS TXT record:\n";
  44.     echo "$selector._domainkey.$domain. IN TXT (\n";
  45.  
  46.     // Format the TXT record for DNS with proper wrapping
  47.     $txtRecord = $result['dns_txt_record'];
  48.     $wrappedTxt = wordwrap($txtRecord, 80, "\n  ");
  49.     echo "  \"$wrappedTxt\"\n  )\n\n";
  50.  
  51.     echo "This record should be added to your domain's DNS configuration.\n\n";
  52.     echo "═════════════════════════════════════\n";
  53.  
  54.     echo "Done!\n";
  55.  
  56. } catch (Exception $e) {
  57.     echo "Error: " . $e->getMessage() . "\n";
  58.     exit(1);
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement