我尝试使用swiftmailer和office 365发送邮件,但未能通过验证。我已经购买了office 365帐户azure订阅。我的环境是php。我完成的步骤:
以下是支持上述活动的屏幕截图列表。
运动设置
API权限
我使用了“https://github.com/microsoftgraph/msgraph-sdk-php“获取accesstoken。
$guzzle = new \GuzzleHttp\Client();
$url = 'https://login.microsoftonline.com/' . $tenantId . '/oauth2/v2.0/token';
$token = json_decode($guzzle->post($url, [
'form_params' => [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'scope' => 'https://graph.microsoft.com/.default',
'grant_type' => 'client_credentials',
],
])->getBody()->getContents());
$accessToken = $token->access_token;
以下是完整的代码
require_once 'swift/vendor/autoload.php';
require_once 'graph/vendor/autoload.php';
$tenant_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$client_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$clientSecret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
//$graphMailer = new graphMailer($tenant_id, $client_id, $secret_id);
$guzzle = new \GuzzleHttp\Client();
$url = 'https://login.microsoftonline.com/' . $tenant_id . '/oauth2/v2.0/token';
$token = json_decode($guzzle->post($url, [
'form_params' => [
'client_id' => $client_id,
'client_secret' => $clientSecret,
'scope' => 'https://graph.microsoft.com/.default',
'grant_type' => 'client_credentials',
],
])->getBody()->getContents());
$accessToken = $token->access_token;
// echo $accessToken;
$transport = (new Swift_SmtpTransport('smtp.office365.com', 587, 'tls'))
->setAuthMode('XOAUTH2')
->setUsername('sender@Testmail699.onmicrosoft.com')
->setPassword($accessToken)
;
$transport->start();
$mailer = new Swift_Mailer($transport);
$message = (new Swift_Message('Wonderful Subject'))
->setFrom(['sender@Testmail699.onmicrosoft.com' => 'Anish V M'])
->setTo(['toaddresss@gmail.com', 'toaddresss@gmail.com' => 'Anish'])
->setBody('Here is the message itself')
;
// Send the message
$result = $mailer->send($message);
echo $result;
我想知道是否有人能给我指出正确的方向。或者告诉我是否我错过了什么。
谢谢
在我的 WHM 根登录上禁用一个设置为我解决了 smtp 上身份验证失败的错误:
WHM
我正在尝试使用javamail和smtp发送邮件。当我从我的gmail地址发送邮件时,它对我有效。我改变了从我的交换账户发送的相同代码,但它不起作用。我正在获得身份验证失败异常。 密码 我尝试使用默认端口,即25,但那一次出现了错误,显示了错误的端口号。所以我假设端口号是对的。我尝试了ping主机和它的工作。我尝试的用户名。但总是有同样的例外。请帮我修一下。 提前谢谢 我启动了调试,得到了以下日志
在过去的几天里,我一直在用我的头撞我的桌子,试图弄清楚为什么我在尝试实现通过公司的Outlook服务器发送电子邮件的Java代码时不断收到以下错误: 下面是有问题的代码: 该错误在 Transport.send(msg) 触发。任何指导将不胜感激。
我们正在尝试使用OAuth2.0在我们的应用程序中登录Outlook.com,我们已经完成了应用程序AAD的注册。应用程序成功地验证了用户,并用access_token响应,现在进一步我们想从imap服务器读取电子邮件,这里我们得到了失败,请尝试和帮助我们解决这个问题。 确定Microsoft Exchange IMAP4服务已就绪。[uaboadiauabsadaamqbdaeeamaawady
null null “AADSTS28000:为输入参数scope提供的值无效,因为它包含多个资源。scope api://{API-application-id}/a-scope https://graph.microsoft.com/user。Read openid配置文件无效。” 这里,我们的后端是一个资源,它有一个作用域,“https://graph.microsoft.com”是另一个作
更新域密码后,将不再访问 git 存储库。VS 代码和源代码树以及 Visual Studio 在拉取、推送、提取等方面返回以下错误消息。 通常会出现凭据弹出窗口,但这并没有发生。还有常见的建议… ...不起作用。