Seasons.NET

ちょっとした技術ブログです

サブミッションポートで制限された環境でのメール環境の構築方法

サブミッションポートで制限されている自宅でXAMPPを使ったmantis運用を
セットアップしてたんですが・・・うまくメールが送信されず、困ってました。

まず、mantis側の設定:config_inc_default.phpを以下のように修正
phpのmail()を使うようにします。

	# select the method to mail by:
	# 0 - mail()
	# 1 - sendmail
	# 2 - SMTP
	$g_phpMailer_method		= 0;

	# This option allows you to use a remote SMTP host.  Must use the phpMailer script
	# One or more hosts, separated by a semicolon, can be listed. 
	# You can also specify a different port for each host by using this 
	# format: [hostname:port] (e.g. "smtp1.example.com:25;smtp2.example.com").
	# Hosts will be tried in order.
	$g_smtp_host			= 'localhost';

	# These options allow you to use SMTP Authentication when you use a remote
	# SMTP host with phpMailer.  If smtp_username is not '' then the username
	# and password will be used when logging in to the SMTP server.
	$g_smtp_username = '';
	$g_smtp_password = '';
|<

次、\xampp\xampp\sendmail\sendmail.iniの修正
>|php|
; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server="smtpサーバー" ;=> SMTPサーバーを指定
; smtp port (normally 25)

smtp_port=587 ;=> サブミッションポート

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

;default_domain=local

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

;error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username="ユーザーID" ;=> 送信する為のユーザーID
auth_password="パスワード" ;=> 送信する為のユーザーパスワード

; if your smtp server uses pop3 before smtp authentication, modify the 
; following three lines

;pop3_server=
;pop3_username=
;pop3_password=

; to force the sender to always be the following email address, uncomment and
; populate with a valid email address.  this will only affect the "MAIL FROM"
; command, it won't modify the "From: " header of the message content

;force_sender=me@localhost

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

;hostname=localhost