OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
3-31-025chanakya
/
Xpress
/
vendor
/
phpmailer
/
phpmailer
/
examples
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/26/2025 04:23:12 AM
rwxr-xr-x
📄
DKIM_gen_keys.phps
3.32 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
DKIM_sign.phps
1.77 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
README.md
8 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
azure_xoauth2.phps
4.08 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
callback.phps
2.31 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
contactform-ajax.phps
5.14 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
contactform.phps
3.61 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
contents.html
585 bytes
03/26/2025 04:23:11 AM
rw-r--r--
📄
contentsutf8.html
1.15 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
exceptions.phps
1.66 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
extending.phps
2.63 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
gmail.phps
3.76 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
gmail_xoauth.phps
3.91 KB
03/26/2025 04:23:11 AM
rw-r--r--
📁
images
-
03/26/2025 04:24:29 AM
rwxr-xr-x
📄
mail.phps
1.15 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
mailing_list.phps
3.21 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
pop_before_smtp.phps
2.43 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
send_file_upload.phps
2.08 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
send_multiple_file_upload.phps
2.04 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
sendmail.phps
1.22 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
sendoauth2.phps
4.57 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
simple_contact_form.phps
3.91 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
smime_signed_mail.phps
4.28 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
smtp.phps
2.25 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
smtp_check.phps
2.07 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
smtp_low_memory.phps
4.93 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
smtp_no_auth.phps
1.87 KB
03/26/2025 04:23:11 AM
rw-r--r--
📄
ssl_options.phps
2.36 KB
03/26/2025 04:23:11 AM
rw-r--r--
Editing: azure_xoauth2.phps
Close
<?php /** * This example shows how to send via Microsoft Outlook's servers using XOAUTH2 authentication * using the league/oauth2-client to provide the OAuth2 token. * To use a different OAuth2 library create a wrapper class that implements OAuthTokenProvider and * pass that wrapper class to PHPMailer::setOAuth(). */ //Import PHPMailer classes into the global namespace use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\OAuth; //Alias the League Google OAuth2 provider class use Greew\OAuth2\Client\Provider\Azure; //SMTP needs accurate times, and the PHP time zone MUST be set //This should be done in your php.ini, but this is how to do it if you don't have access to that date_default_timezone_set('Etc/UTC'); //Load dependencies from composer //If this causes an error, run 'composer install' require '../vendor/autoload.php'; //Create a new PHPMailer instance $mail = new PHPMailer(); //Tell PHPMailer to use SMTP $mail->isSMTP(); //Enable SMTP debugging //SMTP::DEBUG_OFF = off (for production use) //SMTP::DEBUG_CLIENT = client messages //SMTP::DEBUG_SERVER = client and server messages $mail->SMTPDebug = SMTP::DEBUG_SERVER; //Set the hostname of the mail server $mail->Host = 'smtp.office365.com'; //Set the SMTP port number: // - 465 for SMTP with implicit TLS, a.k.a. RFC8314 SMTPS or // - 587 for SMTP+STARTTLS $mail->Port = 587; //Set the encryption mechanism to use: // - SMTPS (implicit TLS on port 465) or // - STARTTLS (explicit TLS on port 587) $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Whether to use SMTP authentication $mail->SMTPAuth = true; //Set AuthType to use XOAUTH2 $mail->AuthType = 'XOAUTH2'; //Start Option 1: Use league/oauth2-client as OAuth2 token provider //Fill in authentication details here //Either the microsoft account owner, or the user that gave consent $email = 'someone@somemicrosoftaccount.com'; $clientId = 'RANDOMCHARS-----duv1n2TS'; $clientSecret = 'RANDOMCHARS-----lGyjPcRtvP'; $tenantId = 'RANDOMCHARS-----HSFTAOIlagss'; //Obtained by configuring and running get_oauth_token.php //after setting up an app in Google Developer Console. $refreshToken = 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0'; //Create a new OAuth2 provider instance $provider = new Azure( [ 'clientId' => $clientId, 'clientSecret' => $clientSecret, 'tenantId' => $tenantId, ] ); //Pass the OAuth provider instance to PHPMailer $mail->setOAuth( new OAuth( [ 'provider' => $provider, 'clientId' => $clientId, 'clientSecret' => $clientSecret, 'refreshToken' => $refreshToken, 'userName' => $email, ] ) ); //End Option 1 //Option 2: Another OAuth library as OAuth2 token provider //Set up the other oauth library as per its documentation //Then create the wrapper class that implementations OAuthTokenProvider $oauthTokenProvider = new MyOAuthTokenProvider(/* Email, ClientId, ClientSecret, etc. */); //Pass the implementation of OAuthTokenProvider to PHPMailer $mail->setOAuth($oauthTokenProvider); //End Option 2 //Set who the message is to be sent from //For Outlook, this generally needs to be the same as the user you logged in as $mail->setFrom($email, 'First Last'); //Set who the message is to be sent to $mail->addAddress('someone@someserver.com', 'John Doe'); //Set the subject line $mail->Subject = 'PHPMailer Outlook XOAUTH2 SMTP test'; //Read an HTML message body from an external file, convert referenced images to embedded, //convert HTML into a basic plain-text alternative body $mail->CharSet = PHPMailer::CHARSET_UTF8; $mail->msgHTML(file_get_contents('contentsutf8.html'), __DIR__); //Replace the plain text body with one created manually $mail->AltBody = 'This is a plain-text message body'; //Attach an image file $mail->addAttachment('images/phpmailer_mini.png'); //send the message, check for errors if (!$mail->send()) { echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'Message sent!'; }