Moodle開発者フォーラム

mail送信のgmail対応

 
画像 river 34
mail送信のgmail対応
 
moodle1.9でgmailをメール送信サーバにする場合、ソースの書き換えが必要となっています。
http://docs.moodle.org/ja/Gmail%E3%81%A7%E3%81%AEE%E3%83%A1%E3%83%BC%E3%83%AB%E8%A8%AD%E5%AE%9A

メールのテスト時にgmailを使って本番の時は別のメールサーバをつかう時などソースを書き換えるのが面倒なので設定で指定できるよう修正してみました。

この修正を行うとEメールのSMTPホストに「ssl://smtp.gmail.com:465」と記述すればgmailのsmtpホストが利用できます。ssl://の文字列がない場合は今まで通りのsmtpが利用可能です。

●lib/phpmailer/class.phpmailer.php
561stepあたり(fs_moodle1.9.8ベースなのでオリジナルだと行がずれるかも)
赤の部分を追加しています。

// Retry while there is no connection
while($index < count($hosts) && $connection == false)
{
//--- 2010.06.20 Append By 34River -------------------------->>>
$chkpos1=strpos($hosts[$index], "ssl://");
if($chkpos1 !== false && $chkpos1==0) {
//gmail用処理
$chkpos2=strpos($hosts[$index], ":", strlen("ssl://"));
if ($chkpos2 !== false) {
//port指定あり
$host = substr($hosts[$index],0,$chkpos2);
$port = substr($hosts[$index],$chkpos2+1);
} else {
$host = $hosts[$index];
$port = $this->Port;
}
} else {
//以下は今まで通り
//--- 2010.06.20 Append By 34River --------------------------<<<
if(strstr($hosts[$index], ":"))
list($host, $port) = explode(":", $hosts[$index]);
else
{
$host = $hosts[$index];
$port = $this->Port;
}
//--- 2010.06.20 Append By 34River -------------------------->>>
}
//--- 2010.06.20 Append By 34River --------------------------<<<

 
最大評点: お役立ち度: ★★★★★★★ (2)