使用 Gmail 从本地主机中的 php 发送邮件


Send mail using Gmail from php in localhost

我已经知道如何使用phpmailer,但我无法发送使用Gmail的邮件(我在phpmailer中完成了所有配置,如端口,服务器名称等),因为它使用的是OAuth 2.0,我已经得到了我的客户端ID,但是我收到此错误:

 400. That’s an error.
Error: invalid_scope
Some requested scopes were invalid. {invalid=[email@gmail.com]}
Learn more
Request Details

当我尝试从 URL 连接到服务器时,我必须怎么做呢?

这是我有代码的文件,我将更改一些字符以保持其私密性,我希望您用这个示例来说明如何使用它。

复制并粘贴到记事本中以使其更清晰。

{
  "private_key_id": "c6ffd46f1@@@@@@@@@@@50@@@@@@62b620526a",
  "private_key": "-----BEGIN PRIVATE KEY-----'nMIICdwIBADA@@@@@@@@@@@@@@@@@@wggJdAgEAAoGBAJYjqzxsw9z9kdp5'ngjuqZz0vVuad574M6fTlFcLp3HdPg8y2hxl2hzW+lZPCWFDUgRgmJEWAR1Qf40ZB'nTm4FwD4mN7/YmExzjVTJ9sPHkf@@@@@@@@o7VincKg5RddvYML95Vzzz0'n1ft@@@@@@@@@@@e0CKuWeIXDKbJVAgMBAAECgYBBc4dArkGsYzZkQbhOfnjHKY3+'ntzPB@@@@@@@@@@@IDcztkeyti2M3EAu8MTXf1N9yAhQk134RxpxkQJqPbk'na5lxv+euyq@@@@@@@@@@iTyKglke8AgR3tXFWcFT1u0p6VeC3uQOskFEO4jNS'nNBbuOcVn/LbyNoB4+QJB@@@@@@@@@@@wU81o36dLz/Ad7hl4yqdWcmotEe38j1'nWa/mBBHGMm+XJFLnfnde/KNeY8a@@@@@@@@@@@@@@@@QQDA8Ej7Ho6whqAiP3d5'nO4@@@@@@@@@@@@3VCzPipDjYzZjvojqz3WRW1pTvAvRcmWWCSJSUOV2FI'npENvAk@@@@@@@@@@@@@jojJJ59QokIYFDlALIP4FiDUVnTKrbZ1JdsqXcRmm'nTzJuVi@@@@@@@@@@@@@@@@@@@@@@@Ihh91BmYFwTBfvsbhUJ8At2IqkpP'nemKr2hbUMs4yTd1IT@@@@@@@J+@@@@@@@@P8CQHVWlZPm'nm7oV9484A8NHT@@@@@@@@@@@@MpUlAbk37C45gU4xFhp1MSvNsNiO'nquDr@@@@@kitgIc'u003d'n-----END PRIVATE KEY-----'n",
  "client_email": "56@@@@@@@@5@@63-3tummk4ie@@@@@@@@@@@@fajni0sun19n@developer.gserviceaccount.com",
  "client_id": "56@@@@@@5@@63-3tu@@@@@@@@nlejapn5fajni0sun19n.apps.googleusercontent.com",
  "type": "service_account"
}

使用梨邮件库

// Pear Mail Library
require_once "Mail.php";
$from = '<from.gmail.com>';
$to = '<to.yahoo.com>';
$subject = 'Hi!';
$body = "Hi,'n'nHow are you?";
$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);
$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => 'johndoe@gmail.com',
        'password' => 'passwordxxx'
    ));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}

我从这里得到它。