Method: Setup#ask_mail

Defined in:
lib/setup.rb

#ask_mailObject

询问用户的信息



171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# File 'lib/setup.rb', line 171

def ask_mail
	#获取全局的配置
	data = self.read true
	mail_data = data['mail'] || {}

	items = [
		{
			'key' => 'smtp_server',
			'ask' => '请输入您的【SMTP服务器地址】,如smpt.163.com',
			'default' => mail_data['smtp_server'],
			'type' => String,
			'validate' => /(\.[a-zA-Z0-9\-]+){2,}/,
			'error' => '您的SMTP地址输入不正确,请输入域名或者IP地址'
		},{
			'key' => 'port',
			'ask' => '请输入您的【SMTP端口】,默认为465',
			'default' => mail_data['port'] || 465,
			'type' => Integer,
			'validate' => /^\d+$/,
			'error' => '您的端口输入不正确,只能输入整数'
		},{
			'key' => 'username',
			'ask' => '请输入您的【邮件帐号】,如[email protected]',
			'default' => mail_data['username'],
			'type' => String,
			'validate' => /^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/,
			'error' => '您的邮箱帐号输入不正确'
		},{
			'key' => 'from',
			'ask' => '请输入您的【发件人邮件地址】,如<张三> [email protected],如果没有设置,则与邮件帐号一致',
			'default' => mail_data['from'],
			'type' => String
		},{
			'key' => 'subject',
			'ask' => '请输入您的【默认邮件主题】,非必填,按回车可以跳过',
			'default' => mail_data['subject'],
			'type' => String
		},{
			'key' => 'to',
			'ask' => '请输入您的【默认收件人】,多个以逗号为分隔,非必填,按回车可以跳过',
			'default' => mail_data['to'],
			'type' => String
		},{
			'key' => 'ssl',
			'ask' => '请确认【是否启用SSL】,一般465或者587端口都会启用SSL,[y/n]',
			'default' => mail_data['ssl'] || 'y',
			'validate' => /^[yn]$/,
			'error' => '请输入y或者n表示是否启用SSL',
			'type' => String
		}
	]

	mail_data = self.ask_items items, mail_data
	#设置默认的format
	mail_data['format'] = '%Y/%m/%d' if mail_data['format'] == ''
	#没有设置from,则使用username
	mail_data['from'] = mail_data['username'] if mail_data['from'] == ''

	#填到mail
	data['mail'] = mail_data

	#写入文件
	self.write data, true

	#询问密码
	self.ask_mail_password false

	puts "您的邮件基本信息配置成功,更多配置方式请参考:#{M2M::HOMEPAGE}config.html"
end